Apache-2.2

Apache:Options +Indexes 仍然導致 403 Forbidden 或 Apache 測試頁

  • December 20, 2019

在本地開發伺服器上,我有一個像這樣的網站的 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 的錯誤日誌;例如,您的文件/目錄權限可能有問題。

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