Apache-2.2
嘗試訪問 webroot 時出現 403 錯誤
我在搞亂虛擬主機,現在在嘗試訪問 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 上的文件”時,您到底是什麼意思?您如何訪問這些文件?