3

私はこれを約1週間検索しましたが、まだ私の質問に対する答えが見つからないので、ついにブレーキをかけてここで質問しています!私が達成しようとしているのは、URLの最後に#NOTECHWORKINGが含まれている場合にのみURLをリダイレクトすることです。#に注意してください。単純なリダイレクトを試しましたが、含まれている#では何も機能していません。

これは私が成功せずに試したことです:

RewriteCond %{REQUEST_FILENAME} #NOTECHWORKING  
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

これ:

RewriteCond %{REQUEST_URI} #NOTECHWORKING 
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

そしてまた:

RewriteCond %{QUERY_STRING} #NOTECHWORKING 
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

これをJavascriptで行う必要がある場合、これを実現する方法がわかりません。

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

1

ブラウザは通常 #fragments をサーバーに送信しないため、書き換え条件がトリガーされることはありません

window.location.hash プロパティの値を確認することで、Javascript で同様の効果を得ることができます。

if(window.location.hash == "#NOTECHWORKING") {
    window.location.href = '/newurl.html';
}

ただし、これはブラウザーでのみ機能するため、検索エンジンはリダイレクトをたどることができません。

于 2012-11-12T23:24:02.043 に答える
1

JavaScript を使用して実行できます。戻る/次へボタンを使用してコマンドを適用するには:

window.onhashchange = function() {
    var h=window.location.hash;
    if(h.substr(1) == 'NOTECHWORKING') window.location.replace("http://www.mydomain.com/chatclosed.html");
};
于 2012-11-12T23:30:20.707 に答える