プロが教えるわが家の防犯対策術!

http://xxx.jp
というサイトを携帯用に作成しています。

PCからは閲覧されたくないため、まず
http://xxx.jp/index.htmlには、「このサイトは携帯専用です。ドコモはhttp://xxx.jp/i/index.htmlへ。ソフトバンクはhttp://xxx.jp/s/index.htmlへ。auはhttp://xxx.jp/e/index.htmlへ」とリンクによる表記をしました。

.htaccessのmod_rewriteによるIPの振り分けで、PCからのアクセスはhttp://xxx.jp。ドコモからのアクセスはhttp://xxx.jp/i/index.html。ソフトバンクからのアクセスはhttp://xxx.jp/s/index.html。auからのアクセスはhttp://xxx.jp/e/index.htmlへと振り分けました。

しかし、このままでは、PCから直接http://xxx.jp/i/index.htmlhttp://xxx.jp/s/index.htmlhttp://xxx.jp/e/index.htmlへアクセスすると、見えてしまいます。なので、iの階層には、.htaccessでドコモ以外のIPアドレスを拒否。sの階層には、.htaccessでソフトバンク以外のIPアドレスを拒否。eの階層には、.htaccessでau以外のIPアドレスを拒否しました。

しかし、これでは携帯のクローラーもはじいてしまいます。
そこで、クローラーはIPの許可をしたいのですが、いまいちどのようにしたらいいのかわからないのです。

たとえば、クローラーがhttp://xxx.jpにアクセスしてきたとします。
そしたら、上記の設定より、http://xxx.jpの画面を解析するわけです。

このとき、.htaccessかmod_rewriteを使って、うまくクローラーをそれぞれの携帯サイトに誘導する手はないでしょうか?

また、マッタク違った方法でのアドバイスもございましたら、教えていただけると幸いです。
どうかよろしくお願い致します。

A 回答 (1件)

クローラのIPはともかくUserAgentは既知ですよね?「携帯キャリア以外のIPを拒否」している.htaccessに「クローラの

UAは許可」を付け足せばいいのでは?
    • good
    • 0
この回答へのお礼

shimixさんへ
さっそくのご回答、ありがとうございます。
UserAgentなのですが、偽装が簡単にできるらしいので、できればIPによる制限を――と考えています。

けれど、携帯キャリア以外のIPを拒否している.htaccessにクローラーのUAを許可は、なるほどと思いました。UAのIPのほうを.htaccessに登録すると、とりあえず携帯サイトにクローラーがきてくれるってことですよね?

お礼日時:2008/04/23 23:41

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