1

基本的に、私は主に Ajax ベースのサイトを持っています。結果を読み込むと、Ajax 経由で表示され、URL アドレス バーが からmysite.comに変わりますmysite.com/#xyz/A_Random_Title

A_Random_TitleロードされたもののSEOフレンドリーなフォーマットのタイトルですが、重要な部分は#xyz. xyzロードされた結果の ID であり、データベースのクエリに使用されます。

CodeIgniter が現在の URL をそのように読み取る方法はありますか? ページがロードされたら読むという意味ではありませんが、リクエストを読んでください...それが理にかなっていることを願っています!

ありがとう!

ジャック

4

1 に答える 1

3

いいえ、ブラウザでのみ利用できるため、 Javascript で処理する必要があります。サーバーはそれを読み取ることができません。

説明:
基本的に、ページ URL のハッシュ コンポーネント (# 記号に続く部分) はブラウザーによってのみ処理されます。ブラウザーはそれをサーバーに渡すことはありません。残念ながら、これは HTML 標準の一部であり、IE やその他のブラウザー (さらに言えば、PHP やその他のサーバー側テクノロジ) を使用しているかどうかに関係なく同じです。

これについてウィキペディアには次のように書かれています。

フラグメント識別子の機能は、URI の残りの部分とは異なります。つまり、その処理は、サーバーからの参加なしにクライアント側のみで行われます。エージェント (Web ブラウザーなど) が Web サーバーからリソースを要求すると、エージェントは URI をサーバーに送信しますが、フラグメントは送信しません。代わりに、エージェントはサーバーがリソースを送信するのを待ってから、フラグメント値に従ってリソースを処理します。最も一般的なケースでは、エージェントはフラグメント値と等しい属性文字列を持つアンカー要素まで Web ページを下にスクロールします。他のクライアントの動作が可能です

于 2010-09-02T12:35:33.260 に答える