2012-02-13 95 views
2

尝试阻止除1个IP地址以外的所有人访问目录。这个.htaccess代码阻止访问,但它阻止访问包括图像,CSS等在内的所有内容。我需要更改哪些内容?基于IP地址的限制/阻止目录

RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XX\.XXX$
RewriteRule ^hidedirectory(.*)$ http://site.com/ [R,L]

凡访问mysite.com/hidedirectory除了我应该重定向到mysite.com。有没有更好,更安全的方法来做到这一点,包括像一个http响应代码?

+0

为什么是反面投票? – csi 2012-02-20 21:48:58

回答

2

更好的方法是做到这一点你.conf文件:

<Directory /hidedirectory> 
options -Indexes 
Order Deny,Allow 
Deny from all 
Allow from XX.XXX.XX.XXX 
</Directory> 

这将拒绝everythig喜欢你的重写规则。 但既然要允许访问图像/ CSS等...

RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XX\.XXX$ 
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|css)$ [NC] 
RewriteRule ^hidedirectory(.*)$ http://site.com/ [R,L] 

添加任何其他扩展到(?:jpe?g|png|gif|css)|(或)后缀。