タイトルは次のように書き換えることができます: サーバー側アプリケーション (PHP、Ruby、Python など) では、URL のハッシュ部分を読み取ることができますか?
P粉145543872
2023-08-20 20:10:37
<p>URL が次のとおりであるとします。</p>
<pre class="brush:php;toolbar:false;">www.example.com/?val=1#part2</pre>
<p>PHP は GET 配列を使用してリクエスト変数 <code>val1</code> を読み取ることができます。 </p>
<p>ハッシュ値<code>part2</code>も読み取れるでしょうか?それともブラウザとJavaScriptのみで対応できるのでしょうか? </p>
簡単なテスト。http://localhost:8000/hello?foo=bar#this-is-not-sent-to-server
にアクセスしてください。 リーリーサーバーが受信したリクエストには、# 記号に続くものは含まれていません。# 記号に続くものは、クライアント上の単なるアンカー ルックアップです。
JavaScript を使用して、URL で使用されているアンカー名を検索できます。例:
リーリーフラグメントを含む URL 文字列がすでにある場合は、PHP の parse_url() 関数を使用できます (http://codepad.org/BDqjtXix):
リーリーしかし、フラグメント情報はクライアント側にのみ存在するため、PHP はフラグメント情報を受け取ることはないと思います。
主な問題は、ブラウザがフラグメント部分を含むリクエストさえ送信しないことです。フラグメント部分はブラウザで直接解析されます。したがって、JavaScript 経由でアクセスできます。
とにかく、parse_url() を使用して URL をフラグメント部分を含む部分に解析することはできますが、明らかにそれはあなたのケースではありません。