はてなアンテナの検索ボットが巡回に来た時に、リモートアドレスから条件判断して(サーバ内のどのファイルへのアクセスであっても)一律に指定したファイルへリダイレクトをかける、ということを.htaccessなどで可能でしょうか。phpファイル内でif文からAgentもしくはリモートアドレス分岐でアンテナの巡回だった場合に表示内容を変えるようにしてみたのですが(データファイルを開いてそのファイルのログから最新更新日時だけを表示させるようにした)まったく更新を拾ってくれません。なのでhtaccessから設定できるものあれば、と思い色々検索してみたのですが、特定のリモートホストからの「拒否」はあってもその条件でのリダイレクト、というケースが見つかりませんでした。もし何かアドバイス等いただければ…。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:MINUS-D No.1

回答回数5ベストアンサー獲得回数0

ポイント40pt

リダイレクトに関しては.htaccessで設定なさってる方というのはあまり見かけないですよね。

私も以前同じ様なことを使用として.htaccessでの記述を探してみたのですがなかなか見つからず、

結局各ページにJavaScriptを設定しています。

因にJavaScriptだとこんな感じです。

<script language=”JavaScript1.2”><!--

if(parent.location==location)location=”http://あなたの指定するページ”;

// -->

</script>

一応.htaccessに関して判りやすいページのURLを書いておきます(既に御覧になっているかもしれませんが・・・)

id:dkltest

ありがとうございます。

本来htaccessとはそういうことをするものではないのかもしれない、と弱気になっています。

JavaScriptという手段もあるかと思いますが、性質上クライアントサイドなので検索ボットがJavaScriptを実行してくれるとも思えません。こういったケース以外では非常に有用な方法だと思います。以後サイト作成の際ぜひ参考にさせていただこうと思います。

アドバイスありがとうございました。

2003/01/27 14:31:14
id:tsuki555 No.2

回答回数209ベストアンサー獲得回数0

ポイント70pt

redirectと.htaccessを使えば様々なケースをあわせてリダイレクトできますよ。

id:dkltest

ありがとうございます。

実は自前のサーバではなくレンタルサーバ(具体的に言うとlolipop.jpというレンタルサーバ)を利用しているので、サーバの環境など把握しきれていない・完全に自由に設定できるものではないんです。mod_rewriteモジュールを使う、という方法はいくつか検索で見つかったのですが

※こことか

http://sb.xrea.com/showthread.php?s=52be6a27b060a450feb7b633...

httpd.confというファイルを編集できる環境ではなさそうで、直接.htaccessに記述を加えて問題ないのかどうか不安があります。

lolipop.jpでは「RedHat互換のLinux」を使用している、としか書かれていませんでした。

しかしご提示いただいたURLでは具体例がケース別に書かれていて非常にわかりやすいです。時間のあるとき熟読してみようと思います。アドバイスありがとうございます。

2003/01/27 14:42:02
id:aerith No.3

回答回数33ベストアンサー獲得回数1

ポイント60pt

SetEnvIf REFERER ”hatena.ne.jp” Ref1

order allow,deny

allow from all

Deny from env=Ref1

ErrorDocument 403 /403.html

id:dkltest

その方法は確かに考えました。

要は、

状況を判別して「別のURLに飛ばす」のか

状況を判断して「拒否する(403)」のかの違いだとは思うんです。

で、403用のページを編集してしまえば、ということかと思うのですが(曲解していたら申し訳ありません)そうなるとその検索ボット以外のアクセスで403返す時(ディレクトリインデックス拒否したとき等)のエラードキュメントまでその、対アンテナボット用になってしまう、という点。また、検索ボット自身が403コードを返されても403のエラー内容を更新内容として検出するのか、という2点が不安材料として残るため、まだ実践に至っていません。

もちろん最終手段として考慮できる方法なので、ご紹介頂いたSetEnvIf記述方法、URLを参考にさせていただきます。アドバイスありがとうございます。

-------

3人の方にそれぞれ具体的なアドバイスを頂き、それぞれの手段を実行してみようと思います。皆さん本当にありがとうございました。

とりあえず「質問を終了する」ことにします。

2003/01/27 14:49:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません