2012-02-13 18 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

答えて

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)に任意の他の拡張機能を追加します。

関連する問題