0

リダイレクトを設定する必要がある Web サイト (www.abc.com と呼びましょう) があります。ランディング ページは www.abc.com/index.html であるため、リダイレクトはそのページにある必要があります。リファラーが null の場合 (誰かがドメインを直接入力した場合)、またはリファラーが www.abc.com/splash にリダイレクトする必要がある abc.com ドメイン (例: google.com) の外部から来ている場合、リダイレクトは機能する必要があります。 /index.html.

私が思いついた最も近いものは以下ですが、機能していません。abc.com にアクセスすると、良いスプラッシュ ページに移動します。しかし、スプラッシュ ページのリンクをクリックして abc.com に移動すると、再びスプラッシュ ページにリダイレクトされます。無限ループ。ここで何をすべきかわからないので、助けていただければ幸いです。

<script type="text/javascript" charset="utf-8">
   if (document.referrer == '' || document.referrer.indexOf('www.abc.com') != -1) {
   top.location="http://www.abc.com/splash/index.html";
   }
</script>
4

2 に答える 2

1
document.referrer.indexOf('www.abc.com') != -1

リファラーにはその文字列含まれていると述べています。私があなたの文章を正しく理解しているなら、あなたはそれとは反対のことを望んでいます。

document.referrer.indexOf('www.abc.com') < 0

EDIT または、URL 構文を正当化するには:

document.referrer.match(/^http:\/\/www\.abc\.com.*/)
于 2013-11-13T23:15:40.343 に答える
1

私はあなたが意味すると思います

if (document.referrer == '' || document.referrer.indexOf('www.abc.com') == -1)

==の代わりに!=見つからない場合はindexOf戻ります。-1

于 2013-11-13T23:15:53.000 に答える