我的目标是拒绝访问某些子目录。我的本地主机配置允许像这样覆盖:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
我在 /var/www/ 中还有一个 .htaccess 文件,其内容为:
<Directory /var/www/*>
Order allow,deny
allow from all
</Directory>
上述规则规定每个人都可以访问,但我的服务器响应内部错误。“cat /var/log/apache2/error.log | tail -n 10”给出:
[Thu Feb 23 12:41:09 2012] [alert] [client 127.0.0.1] /var/www/.htaccess: <Directory not allowed here"
为什么会这样?任何有关此问题的详尽指南的链接也非常感谢。谢谢。
答案1
您收到该错误消息的原因是<目录>指令仅在主程序Server config
或Virtual Host
配置中有效,在文件中无效.htaccess
。
至于如何拒绝访问,非常简单,您可以设置目录的权限,这样您的 apache 就无法读取它们。更复杂的方法需要您告诉我们您试图拒绝访问的内容。