2011-06-15 64 views
1

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

# 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

您可以简单地使用这一行的规则做到这一点:

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

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

+0

此规则将直接进入.htaccess文件'public_html' – anubhava 2011-06-15 00:36:26

+1

完美。你知道,当提问者没有对答案进行批准/投票时,它总是困扰我。问题提出后六分钟回答。六年后,它仍然有用。 – 2017-07-21 22:40:04

+0

谢谢@AlanM,OP得到答案后从网站上消失:) – anubhava 2017-07-22 04:53:03