除了使用.htaccess之外,禁止访问所有目录

时间:2010-11-11 21:00:38

标签: apache .htaccess

我想知道除了使用.htaccess文件之外,如何禁止访问所有目录。

这样的结构
<Directory />
    Order Deny,Allow
    Deny from all
</Directory>

<Directory /folder>
    Order Deny,Allow
    Allow from all
</Directory>

引发错误500.它只能放在apache conf文件中,对吧?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

目录指令不能用于.htaccess文件(请参阅目录文档的“上下文”部分)。在.htaccess文件中,您可以使用Files或FilesMatch作为节容器或mod_rewrite。假设您被允许使用mod_rewrite(并且您有充分的理由首先使用.htaccess文件,比如说,您不是服务器管理员):

RewriteEngine On
RewriteRule !folder [F]

原则上,这回答了你的问题。虽然你的情况比你让它更复杂,但更有可能。

http://httpd.apache.org/docs/2.2/mod/core.html#directory http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule http://httpd.apache.org/docs/2.2/sections.html

顺便说一下,这个问题可能属于serverfault.com