Apache-2.2

嘗試訪問 webroot 時出現 403 錯誤

  • January 24, 2011

我在搞亂虛擬主機,現在在嘗試訪問 webroot 上的文件時出現 403 錯誤。

這是我的 httpd-vhosts.conf:

NameVirtualHost *:80

<VirtualHost *:80>
   ServerName localhost
   DocumentRoot /var/www
</VirtualHost>


<VirtualHost *:80>
   ServerName test.ts
   DocumentRoot /var/www/htdocs/vhost_test 
   <Directory /var/www/htdocs/vhost_test>
       Options Indexes FollowSymLinks Includes
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

我很確定它是虛擬主機的問題,因為我在 httpd.conf 上註釋掉了包含 httpd-vhosts.conf 的行,問題就消失了。它出什麼問題了?

編輯:Phil Hollenback 幫助我解決這個問題的第二天,伺服器又開始出現問題。和以前一樣的問題,做我以前做的,這次沒有解決。所以我嘗試用這個改變httpd-vhosts.conf:

<VirtualHost *:80>
   ServerName localhost
   DocumentRoot /var/www
   <Directory />                   #added this tag
       Allow from all
   <Directory>
</VirtualHost>

現在它正在工作。

Grep for DocumentRoot 在您的其他 conf 文件中,例如 httpd.conf - 它是否在您的虛擬主機之外的任何地方定義?如果您的預設 DocumentRoot 實際上位於 /var/www 中,則您的問題和後續行動尚不清楚。您可能有一個不同的 DocumentRoot 指向一個完全不同的目錄樹,它不是 /var/www - 在這種情況下,更改 /var/www 上的權限不會影響任何事情。

另外,當您說“訪問 webroot 上的文件”時,您到底是什麼意思?您如何訪問這些文件?

引用自:https://serverfault.com/questions/225673