配置Apache以允许禁止目录列表

时间:2012-09-28 01:52:52

标签: linux apache ubuntu web apache2

我只需要允许特定目录的目录列表:/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>

1 个答案:

答案 0 :(得分:1)

您为Order指定的/var/www/testdeny,allow,因此Deny from all上的/var/www优先于Allow from all /var/www/test。将其切换到allow,deny,您将获得您期望的行为。

我还强烈建议您删除<FilesMatch index.html>。它只会让你遇到问题。 index.html与自动目录索引无关;它仅在您明确创建此类文件时才会涉及,因此该指令只会使正常的index.html文件保持正常工作。