如何拒绝访问给定目录的所有子目录?(同时允许手动修改目录树中单个项目的访问权限。)
我试图用<Directory(Match)>
指令来做到这一点。服务器配置(000-sites-enabled)如下所示:
DocumentRoot /var/www
<Directory /var/www>
Allow from all
Deny from none
Order deny,allow
</Directory>
<Directory /var/www/*>
Deny from all
</Directory>
http://localhost/
成功显示的查询/var/www/index.html
和对任何子目录的所有查询都失败。
问题是:对 httproot 中文件的任何查询都会失败 - 即请求http://localhost/index.html
将导致403 Forbidden
.
这些<Directory(Match)>
指令似乎实际上匹配目录和文件!?
为了看看这是否属实,我试过:
<Directory /var/www/i*>
Deny from all
</Directory>
这拒绝仅访问以“i”开头的文件/目录。
有没有办法改变这种行为并<Directory>
只匹配目录?有没有另一种方法来实现所有子目录都被拒绝?(除了手动拒绝所有文件或手动启用所有文件)