htaccess规则阻止所有服务器

时间:2011-06-15 00:20:37

标签: .htaccess

寻找一些htaccess重写规则来阻止除服务器本身以外的所有目录访问。这是一个充满图像和flash swf文件的目录。是的我知道不希望直接访问文件自己的目录有点奇怪,但是当在受保护目录之外的其他html中引用时允许用户看到它,但这就是我所追求的。我尝试了几种不同的方法,如下所示:

# send them to index.php
Options +FollowSymlinks
RewriteEngine on
#RewriteRule ^(.*)$ ../User/ [NC]
#RewriteRule ^(.*)$ [R=301,L,NC]

# no one gets in here!
#deny from all

Options All -Indexes

<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.0.0/33
</Limit>

他们似乎都没有真正做我想做的事。其中一些阻止访问所有内容,包括服务器本身。其他将请求重定向到另一个页面,但因为它保持相同的URL,“页面”上的链接被用户重定向到不会工作。

如果可能,我甚至不想做404警告,因为虽然这不允许用户访问目录,但用户仍然知道该目录存在。

1 个答案:

答案 0 :(得分:1)

您只需使用此一行规则即可:

RewriteRule ^mydir/ - [L,R=404,NC]

这样/mydir/下的所有文件都会为访问者生成404错误,但您的服务器仍然可以访问这些文件。