我只需要允许特定目录的目录列表:/var/www/test
。我按照此处给出的步骤http://wiki.apache.org/httpd/DirectoryListings但我做错了,因为如果我浏览http://localhost/test
,我会收到禁止403 消息。以下是我在/ etc / apache2 / sites-available / test中的内容。你能发现这个配置有什么错误吗?
<VirtualHost *:80>
DocumentRoot /var/www
<FilesMatch index.html>
deny from all
</FilesMatch>
<Directory /var/www/php/>
AllowOverride None
deny from all
</Directory>
<Directory /var/www/>
AllowOverride None
</Directory>
<Directory /var/www/test>
Options +Indexes
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
答案 0 :(得分:1)
您为Order
指定的/var/www/test
为deny,allow
,因此Deny from all
上的/var/www
优先于Allow from all
/var/www/test
。将其切换到allow,deny
,您将获得您期望的行为。
我还强烈建议您删除<FilesMatch index.html>
。它只会让你遇到问题。 index.html
与自动目录索引无关;它仅在您明确创建此类文件时才会涉及,因此该指令只会使正常的index.html
文件保持正常工作。