- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フラグメント識別子(#)のリダイレクトについて)
フラグメント識別子のリダイレクトについて
このQ&Aのポイント
- フラグメント識別子(#)のリダイレクトについて調査しました。フラグメント識別子は通常、サーバに届かずリダイレクトできないと言われていますが、特定の環境下ではリダイレクトが可能なようです。
- 実際に.htaccessファイルを使用してフラグメント識別子のリダイレクトを試みたところ、リダイレクトが成功しました。以下のコードを使用しました:
- <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^dummy/test/page(.*)$ https://www.B.com/dummy/test-page/$1/ [L,R=301,NE] </IfModule> この結果、フラグメント識別子のリダイレクトは、一部の環境下では正常に動作することがわかりました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ブラウザからのリクエストURIは、#001なしでアクセスされて ブラウザは戻ってきたコンテンツに対して#001のアンカー位置に ジャンプしているだけじゃないですか。 なので、たまたま同じ#001の同じアンカーなので一見 リダイレクトできているように見えてるけど htaccessで、 page/#001→xxx/#002とか page/#001→?page=20 へのリダイレクトはできないはずですよ。
お礼
superside0 様 ご連絡ありがとうございます。 確かにご指摘通りの挙動になりました。 表示の仕組みとしては、 アクセス時のフラグメント識別子が、 サーバーには送られないものの、 ブラウザに残って、 リダイレクト後にURLとして展開されている、 という感じなのでしょうか?