0

一致するものが見つかった場合、Webサイト上の誰かのWebサイトのURLをチェックし、Webサイト上の特定のページにリダイレクトするJavaScriptに何かを追加するにはどうすればよいですか?例えば...

チェックしたい文字列はmydirectoryになるので、誰かがアクセスした場合、mysite.com/mydirectory/anyfile.phpまたはURLにmydirectoryがあるためmysite.com/mydirectory/index.php、javascriptはページ/ urlをリダイレクトしますmysite.com/index.php。それ以外の場合は、一致するものが見つからない場合はリダイレクトしないでください。以下のコードを使用しています...

var search2 = 'mydirectory';
var redirect2 = 'http://mysite.com/index.php'

if (document.URL.substr(search2) !== -1)
    document.location = redirect2

それに関する問題は、一致するものが見つからなくても常にリダイレクトされることです。何が問題になっているのかを誰かが知っていますか?これを行うためのより高速でより良い方法はありますか?

4

2 に答える 2

2

代わりにString.indexOf()を使用してください。

if (window.location.pathname.indexOf('searchTerm') !== -1) {
    // a match was found, redirect to your new url
    window.location.href = newUrl;
}
于 2012-04-11T03:08:47.447 に答える
0

substrこの状況で必要なものではなく、文字列からサブ文字列を抽出します。代わりに:を使用してindexOfください

if(window.location.pathname.indexOf(search2) !== -1) {
    window.location = redirect2;
}

可能であれば、サーバー側でこのリダイレクトを実行することをお勧めします。それは常に機能し、より検索エンジンにやさしく、より速くなります。ユーザーがJavaScriptを無効にしている場合、ユーザーはリダイレクトされません。

于 2012-04-11T03:08:07.243 に答える