1

我只需要允许特定目录的目录列表:/var/www/test. 我按照这里给出的步骤http://wiki.apache.org/httpd/DirectoryListings但我做错了因为如果我浏览我会收到Forbidden 403http://localhost/test消息。以下是我的 /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>
4

1 回答 1

1

Order您指定的 for is /var/www/testdeny,allow因此Deny from allon/var/www优先于Allow from allfor /var/www/test。切换到allow,deny,你会得到你期望的行为。

我还强烈建议您删除<FilesMatch index.html>. 它只会给你带来麻烦。index.html与自动目录索引无关;它仅在您明确创建此类文件时才涉及,因此该指令只会使普通index.html文件无法正常工作。

于 2012-09-28T02:14:46.513 回答