Apache-2.2
Apache:Options +Indexes 仍然導致 403 Forbidden 或 Apache 測試頁
在本地開發伺服器上,我有一個像這樣的網站的 Apache conf
<VirtualHost *:80> ServerAdmin no-reply@localhost ServerName sandbox.mysite.internal DocumentRoot /var/www/vhosts/sandbox/mysite ErrorLog logs/sandbox/mysite-error.log CustomLog logs/sandbox/mysite-access.log common </VirtualHost>
如果我訪問以下地址(沒有index.php或index.html)
http://sandbox.mysite.internal
我得到了 Apache CentOS 測試頁面
如果我訪問像這樣的子目錄
http://sandbox.mysite.internal/test/
我得到一個
403 Forbidden
錯誤。所以我在這裡添加以下內容.htaccess
:/var/www/vhosts/sandbox/mysite/test/.htaccess
內容:
Options +Indexes
現在當我訪問時:
http://sandbox.mysite.internal/test/
我仍然得到 403 禁止。
如何使目錄索引顯示?
我一直認為
.htaccess
指令會覆蓋任何httpd.conf
指令。但我錯了嗎?我的某些設置httpd.conf
是否使我的.htaccess
指令被忽略?
當然,
AllowOverride None
會阻止.htaccess
文件執行。但是,為什麼要使用它們呢?Apache 的建議是永遠不要使用.htaccess
,除非您無法訪問主配置。試試這個,而不是:
<VirtualHost *:80> ServerAdmin no-reply@localhost ServerName sandbox.mysite.internal DocumentRoot /var/www/vhosts/sandbox/mysite ErrorLog logs/sandbox/mysite-error.log CustomLog logs/sandbox/mysite-access.log common <Directory /var/www/vhosts/sandbox/mysite/test/> Order allow,deny Allow from all Options +Indexes </Directory> </VirtualHost>
如果這不起作用,請查看 Apache 的錯誤日誌;例如,您的文件/目錄權限可能有問題。