2011-08-04 6 views
1

私は、ユーザーが特定のリンクから来ている場合、少し違った表示をするべきです。ページリダイレクトを検出するにはどうすればよいですか?

I.e.私がいた

Redirect permanent /foo-bar /foo 


:誰かが.htaccessファイルに以下の行を行うことができます、私はそれがexample.com/fooにリダイレクトしたいexample.com/foo-bar、へのリンクをクリックした場合 通常のページはexample.com/foo

です次のjavascriptを使用して、ユーザーがどのページを訪問したかを判断してください:

<script type="text/javascript"> 
document.write(document.referrer); 
</script> 

ユーザーがサイトの通常のリンクから/fooになった場合は、リファラーURLを削除してください。しかし、彼らが/foo-barへのリンクをクリックした場合は、私が必要とする/foo-barのアドレスではなく、リンクのあるページのURLが表示されます。


別のURLへのURLをリダイレクトし、にリダイレクトページにこれを検出する方法はありますか?


(ということは、ページ上のコンテンツの違いは重要ではないので、彼らは/foo-barに行くとき間違ったことを参照してくださいJavaScriptを使用して、ユーザーの1%がオフになっている場合、それはではないことに注意してください。/ fooの中で、その後

Redirect permanent /foo-bar /foo#redirected 

と::問題)

答えて

1
はあなたにリダイレクトコードを変更

if(window.location.hash == 'redirected') { 
    ... 
} 
+0

ありがとうございます、これが進む方法です。 –

+0

あなたの答えを受け入れることを取り消さなければならなかったのですが、私は恐れています。 IE8では '# 'の後ろにあるすべてのものが切り捨てられていることに気づいた。 –

+1

@Jonathan次に、クエリ文字列パラメータで行います。 '/ foo?ref = redirected') – LazyOne