3

试图阻止除 1 个 IP 地址之外的所有人访问目录。此 .htaccess 代码会阻止访问,但会阻止对包括图像、css 等在内的所有内容的访问。我需要更改什么?

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

除了我之外,任何访问 mysite.com/hidedirectory 的人都应该重定向到 mysite.com。是否有更好、更安全的方法来执行此操作,包括 http 响应代码之类的方法?

4

1 回答 1

3

更好的方法是在您的.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)后缀为|(或)。

于 2012-02-13T16:49:10.790 回答