2011-07-22 20 views
0

私はこのURLを持っていると言います。アクセス#URL:PHP経由でURLの一部

http://mydomain.local/category/12/garden#31/decking-treatment 

31/decking-treatmentの後の部分はサーバサイドで取得できますか?

超球体$_SERVER$_REQUESTをチェックしましたが、そこにはありません。

おかげ

よろしく ガブリエル

+0

#の後ろの部分で何をしようとしていますか? – afuzzyllama

+0

は、何をレンダリングすべきかを知るために使用します。ハッシュは、ajax呼び出しの後にjavascriptを介して追加されます。 –

+0

基本的に、AJAXでページを更新すると、その更新をURIに反映しようとしていますか? – afuzzyllama

答えて

6

は#1すなわち31 /デッキ、治療後の部分は、サーバー側で取得することができますか?

いいえ。クライアント側で処理され、サーバーに送信されることはありません。そのため、pushStateis a bad ideaの代わりにJSベースの履歴に使用する理由です。

1

いいえ、#の後のすべてはクライアント側でのみ使用され、サーバーにヒットしません。あなたがサーバにプッシュする前に#文字をエンコードするなら、あなたは何かをすることができるかもしれないかもしれないが、それは少し長く巻き込まれるだろう。全体的に達成しようとしているのは何ですか?

+0

基本的に私はajaxベースのメニューを持っています。ユーザーがメニューの項目をクリックすると、divが更新されます。 Onclick ..私は、URLにハッシュ部分を追加しました。その理由は、ユーザーが誰かとリンクを共有する場合です。私は他の人に同じ情報を見せたい。 –

0

これは私がそれを並べ替える方法です:

function reloadPage() 
    { 
     var hash = location.hash; 
     if (hash){ 
      hash = hash.replace('#', ''); 
      location.href = hash; 
     } 
    } 

reloadPage();

これをjsファイルに含めます。

関連する問題