2012-02-13 56 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)|(或)後綴。