- ベストアンサー
.htaccessファイルでのIPアクセス規制について
- 自己ホームページのコンテンツ盗用被害からの対策として、.htaccessファイルを使用して特定のIPをアクセス禁止にしています。
- ブロックしているIPのうち、1つのIPだけを自作の403エラーページに飛ばし、残りのIPはデフォルトの403エラーページに飛ばすことは可能でしょうか?
- .htaccessファイルには、deny fromを使用してIPをブロックするルールを追加することで、特定のIPを異なるエラーページに飛ばすことができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
apache で mod_rewrite が使える環境であれば、 .htaccess の deny from... の行を消して、その代わりに -------- RewriteEngine On RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.2 RewriteRule ^.*$ /site_closed.html [L,R=403] RewriteCond ${REMOTE_ADDR} ^192\.168\.1\. RewriteRule ^.*$ /default_error.html [L,R=403] ------------------ のようにすれば、192.168.1.2 は site_closed.html に、他の192.168.1.* は default_error.html に飛ばすことができますが… mod_rewrite が使えるかどうかは $/usr/local/apache/bin/httpd -l | /bin/grep -i rewrite でわかると思います。 (httpd のパスは環境に合わせてください)
その他の回答 (1)
- vsba23895
- ベストアンサー率58% (18/31)
>自作のエラーページに飛ばすIPを複数追加することは可能でしょうか? RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.2 [OR] RewriteCond ${REMOTE_ADDR} ^192\.168\.10\.1 [OR] ... RewriteRule ... のように並記できます。詳しくは、mod_rewrite のページを見て下さい。 あと、初めてだと色々と失敗しがちで、しかも何が原因か分らないことが多いので、テスト時には RewriteLogLevel 3 とかで、何が起きているのかを十分チェックするのをおすすめします。
お礼
ありがとうございます。 何だか難しそうですが、やってみます。
補足
ご回答どうもありがとうございます。 自作のエラーページに飛ばすIPを複数追加することは可能でしょうか? RewriteCond ${REMOTE_ADDR} ^XXXXXX の部分を追加して、IPを列挙すれば良いのでしょうか?