リダイレクトに関しては.htaccessで設定なさってる方というのはあまり見かけないですよね。
私も以前同じ様なことを使用として.htaccessでの記述を探してみたのですがなかなか見つからず、
結局各ページにJavaScriptを設定しています。
因にJavaScriptだとこんな感じです。
<script language=”JavaScript1.2”><!--
if(parent.location==location)location=”http://あなたの指定するページ”;
// -->
</script>
一応.htaccessに関して判りやすいページのURLを書いておきます(既に御覧になっているかもしれませんが・・・)
ありがとうございます。
実は自前のサーバではなくレンタルサーバ(具体的に言うとlolipop.jpというレンタルサーバ)を利用しているので、サーバの環境など把握しきれていない・完全に自由に設定できるものではないんです。mod_rewriteモジュールを使う、という方法はいくつか検索で見つかったのですが
※こことか
http://sb.xrea.com/showthread.php?s=52be6a27b060a450feb7b633...
httpd.confというファイルを編集できる環境ではなさそうで、直接.htaccessに記述を加えて問題ないのかどうか不安があります。
lolipop.jpでは「RedHat互換のLinux」を使用している、としか書かれていませんでした。
しかしご提示いただいたURLでは具体例がケース別に書かれていて非常にわかりやすいです。時間のあるとき熟読してみようと思います。アドバイスありがとうございます。
SetEnvIf REFERER ”hatena.ne.jp” Ref1
order allow,deny
allow from all
Deny from env=Ref1
ErrorDocument 403 /403.html
その方法は確かに考えました。
要は、
状況を判別して「別のURLに飛ばす」のか
状況を判断して「拒否する(403)」のかの違いだとは思うんです。
で、403用のページを編集してしまえば、ということかと思うのですが(曲解していたら申し訳ありません)そうなるとその検索ボット以外のアクセスで403返す時(ディレクトリインデックス拒否したとき等)のエラードキュメントまでその、対アンテナボット用になってしまう、という点。また、検索ボット自身が403コードを返されても403のエラー内容を更新内容として検出するのか、という2点が不安材料として残るため、まだ実践に至っていません。
もちろん最終手段として考慮できる方法なので、ご紹介頂いたSetEnvIf記述方法、URLを参考にさせていただきます。アドバイスありがとうございます。
-------
3人の方にそれぞれ具体的なアドバイスを頂き、それぞれの手段を実行してみようと思います。皆さん本当にありがとうございました。
とりあえず「質問を終了する」ことにします。
ありがとうございます。
本来htaccessとはそういうことをするものではないのかもしれない、と弱気になっています。
JavaScriptという手段もあるかと思いますが、性質上クライアントサイドなので検索ボットがJavaScriptを実行してくれるとも思えません。こういったケース以外では非常に有用な方法だと思います。以後サイト作成の際ぜひ参考にさせていただこうと思います。
アドバイスありがとうございました。