重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは、自己ホームページを運営しているのですが、他サイトによるコンテンツの盗用被害に遭ったため、
対策として以下のような .htaccess ファイルで特定のIPをアクセス禁止にしています。

order allow,deny
allow from all
deny from 123.456.789
deny from 789.456.123

怪しいIPはすべてブロックしているのですが、無関係のIPをはじいているかもしれません。

それでお聴きしたいのですが、ブロックしているIPのうち、1つのIPだけを自作の403エラーページ
(例えば、このサイトは閉鎖しました、など)へ飛ばし、ブロックしている残りのIPはディフォルトの
403エラーページに飛ばす、ということは可能でしょうか?
もし可能であれば、.htaccess ファイルはどのように記述すればよいでしょうか?

よろしくお願いいたします。

A 回答 (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 のパスは環境に合わせてください)

参考URL:http://www.net-newbie.com/trans/mod_rewrite.html

この回答への補足

ご回答どうもありがとうございます。

自作のエラーページに飛ばすIPを複数追加することは可能でしょうか?
RewriteCond ${REMOTE_ADDR} ^XXXXXX
の部分を追加して、IPを列挙すれば良いのでしょうか?

補足日時:2006/07/27 16:49
    • good
    • 0

>自作のエラーページに飛ばすIPを複数追加することは可能でしょうか?


RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.2 [OR]
RewriteCond ${REMOTE_ADDR} ^192\.168\.10\.1 [OR]
...
RewriteRule ...
のように並記できます。詳しくは、mod_rewrite のページを見て下さい。

あと、初めてだと色々と失敗しがちで、しかも何が原因か分らないことが多いので、テスト時には
RewriteLogLevel 3
とかで、何が起きているのかを十分チェックするのをおすすめします。

参考URL:http://www.net-newbie.com/trans/mod_rewrite.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
何だか難しそうですが、やってみます。

お礼日時:2006/07/28 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!