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 に答える