2012-03-31 25 views
0

私が取り組んでいるプロジェクトではpushStateを使用していますが、Internet Explorerは正しく処理できないため、URLの変更にshebangが使用されています。 .htaccessを設定してURLにシバンを許可しますが、それを削除してリダイレクトします。今のところ、もし私がhttp://www.mydomain.com/#!/whatever.phpに行くなら、それは単に私のインデックスページを表示します。あなたは後藤http://www.mydomain.com/#!/whatever.phphttp://www.mydomain.com/whatever.php.htaccessを設定してURLにshebangを設定する方法

+0

Wiresharkで少し時間を過ごす。クライアント_never_はサーバに '# 'またはそれ以降のものを送ります。 – sarnold

答えて

0

さて、私は質問に対する答えを見つけました。だから、javascriptは唯一の方法です。URLのshebangを使用しているため、ドメインのインデックスページに誘導されますが、URLは同じままです。だから私はちょうど私のページの上部に以下を追加しました。

$(document).ready(function(){ 
    var loc = self.document.location; 
    if(loc.hash){ 
     var href = loc.hash.split("#!/"); 
     window.location = loc.protocol +'//'+ loc.host +'/'+href[1]; 
    } 
}); 
0

いいえ、それは.htaccessを使用して可能ではないにリダイレクト場合#後、すべてがすべてでサーバーに送信されていないので、しかし、私はそれがやりたいこと、です。リダイレクトを行うにはJavaScriptを使用する必要があります。

+0

私はjavascriptを使ってみましたが、パスに 'shebang'タグを使用するとjavascriptは何も検出しません。 'alert(window.location.pathname);を試してみて、' http://www.mydomain.com/#!/ index.php'を試みるときにパスとして '/'を表示するだけです – Bobby

+0

'alert( window.location.hash); ''# '(ハッシュ)部分を取得する – stewe

関連する問題