【问题标题】:Restrict / Block Directory Based on IP Address根据 IP 地址限制/阻止目录
【发布时间】:2012-03-05 01:17:57
【问题描述】:
试图阻止除 1 个 IP 地址之外的所有人访问目录。此 .htaccess 代码会阻止访问,但会阻止对包括图像、css 等在内的所有内容的访问。我需要更改什么?
RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XX\.XXX$
RewriteRule ^hidedirectory(.*)$ http://site.com/ [R,L]
除了我之外,任何访问 mysite.com/hidedirectory 的人都应该重定向到 mysite.com。是否有更好、更安全的方法来执行此操作,包括 http 响应代码之类的内容?
【问题讨论】:
标签:
.htaccess
redirect
ip-address
ip-restrictions
【解决方案1】:
更好的方法是在您的 .conf 文件中执行此操作:
<Directory /hidedirectory>
options -Indexes
Order Deny,Allow
Deny from all
Allow from XX.XXX.XX.XXX
</Directory>
这将拒绝像你的重写规则一样的一切。
但是既然你想允许访问图像/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) 中,并以|(or) 为后缀。