人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

再度同じ質問です。
検索エンジンにHPのTOPページ以外のページが上位表示されています。
検索エンジンよりのアクセスでTOPページ以外からの場合、強制的にTOPページに移動させるスプリクトを知りたいです。
refererを利用すればできるような気がするのですが・・。
ノートンでFWの設定で動作しないというのは可です。
FWで空になっていた場合は、TOPページに移動せず通常のリンク先で構いません。
.htaccessは使用しない方法が知りたいです。
また、検索エンジンにTOPページ以外がかからない設定という回答は不要です。
以前も同様の質問をしましたが、不都合な現象が出ました。
検索エンジン(YAHOO)から飛んできたことを判別してTOPに振り分けるというスプリクトをお願いします。
過去の質問はこちら。
http://q.hatena.ne.jp/1159616527
過去にも回答していただいた方には感謝しています。こちらの確認不足でした。

●質問者: tabatakusa
●カテゴリ:ウェブ制作
✍キーワード:.htaccess referer Yahoo アクセス ノートン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kurukuru-neko
●100ポイント

以前あったURLの処理方法を応用すれば

可能です。

http://www.red.oit-net.jp/tatsuya/java/referrer.htm

関数にした場合

Yahoo,GoogleからReferされた場合は、TOP Page

例:

function ReferURLCheck()

{

var keepurl = new Array();

var moveurl = new Array();

// Referオプション部分を除く

if( document.referrer.length==0 ) {

// 直接参照

myRef="";

return 0;

} else {

myRef = document.referrer;

myRefOpt=myRef.indexOf("?" , 0);

if( myRefOpt >= 0) myRef = myRef.substring(0 , myRefOpt);

};

// 移動先URL

moveTop = "http://www.yahoo.co.jp";

// 移動しない参照元指定

// URLが複数ある場合順番に配列に追加して行く

keepurl[0] = moveTop;

// 強制移動する参照元指定

// URLが複数ある場合順番に配列に追加して行く

moveurl[0] = "http://search.yahoo.co.jp";

moveurl[1] = "http://www.google.co.jp/search";

// 強制移動しないURLの場合 move=0

// 強制移動する場合 move=1

move=1;

for(i in keepurl) {

if( myRef.indexOf(keepurl[i],0)>=0) {

move=0;

break;

};

};

if( move == 1 ) {

move=0;

for(i in moveurl) {

if( myRef.indexOf(moveurl[i],0)>=0) {

move=1;

break;

};

};

};

delete keepurl;

delete moveurl;

if( move != 0 ) {

location.href = moveTop;

};

return 0;

}

◎質問者からの返答

丁寧にありがとうございます。

うれしいです。


2 ● はますたあ
●200ポイント ベストアンサー

1の回答で良い気もしますが、手抜きで書くなら以下を

リファラチェックしたいhtmlに貼るだけでも大丈夫だと思います。

(jump_uri=は自分のサイトにする)


<script style="text/javascript">
jump_uri = "http://d.hatena.ne.jp/"; //ジャンプさせたいページのuri
search_array = new Array();
search_array[0] = "search.yahoo.co.jp"; //referrerにこの文字があればジャンプ
search_array[1] = "www.google.co.jp";
//search_array[数字]=""; はいくつ追加しても良い
//↓リファラチェック
for ( i in search_array ) {
 re = new RegExp( search_array[i], "i" );
 if ( document.referrer.search( re ) >= 0 ){
 location.href = jump_uri; //チェックにひっかかったらジャンプ
 }
}
</script>

◎質問者からの返答

何度も申し訳ございません。

今度こそ問題が解決いたしました。

以前のものだと同一ページで条件抽出した場合に

TOPに再移動してしまう問題があったのですが

これなら大丈夫です。

本当に助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ