クエリ文字列とアンカータグ(ハッシュタグ)の両方がURLに表示される場合、それらが表示される適切な順序は何ですか?
http://www.whatever.com?var=val#anchor
また
http://www.whatever.com#anchor?var=val
これに関するドキュメントはありますか?
URLはWordPress/PHPによって処理されています。
クエリ文字列とアンカータグ(ハッシュタグ)の両方がURLに表示される場合、それらが表示される適切な順序は何ですか?
http://www.whatever.com?var=val#anchor
また
http://www.whatever.com#anchor?var=val
これに関するドキュメントはありますか?
URLはWordPress/PHPによって処理されています。
?RFC 3986に記載されているように、#の前に来る必要があります。
relative-ref = relative-part [ "?" query ] [ "#" fragment ]
スーパーユーザーでの回答から取得(アンカータグはクエリ文字列の前にありますか、それとも後にありますか?):
URLにアンカータグ(#)とクエリ文字列(?)の両方がある場合、ブラウザはクエリ文字列を無視して、ページをリロードせずにアンカータグに移動する可能性があることに注意してください。
を使用してページを送信する必要がある場合があります
<form action='webpage.php?q=string#tag' method='GET or POST'>
<input type='text' id='q' name='q' value='string'>
<input type='submit' value='submit'>
</form>
単なるURLリンクではなく
<a href='webpage.php?q=string#tag'>.
このJavaScriptコードをサイトの共通部分に配置して、すべての誤ったリクエストを適切な順序でアナログに強制的にリダイレクトすることができます。
<script>
var p=location.hash.indexOf("?");
if(p>=0){
var goodLoc = location.href.replace(location.hash, "");
location.replace(goodLoc + window.location.hash.substring(p) + window.location.hash.substring(0, p));
}
</script>