PHPプロジェクトで、URLのパス内でハッシュ文字(#)を送信する必要があります。( http://www.example.com/parameter#23 /parameter#67/index.php )urlencodeがそれを可能にし、ハッシュを%23に変換すると思った
しかし、今では、urlencodedハッシュでさえも、ブラウザがすべてを右側のURLフラグメント(またはクエリ)として扱うように強制することがわかります。
ハッシュを渡す方法はありますか、またはurlencodeの前に文字置換を行う必要がありますか?
追加して編集(2017年9月19日):
間違った質問をしていたことがわかりました。私の問題は、パス内でハッシュ文字を使用することではなく(エンコードは機能します)、mod_rewriteを使用してクエリ文字列に変換することでした。 RewriteRule内で再エンコードできませんでした。一致するようにタイトルを編集します。
私が使用していた書き換えルールは次のとおりです。
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L]
Bタグを追加するとすぐに、正常に機能しました。
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]
URLのハッシュを%23でエンコードします
http://Twitter.com/home?status=I+believe+in+%23love
"私は愛を信じます"
URLエンコードリファレンス: http://www.w3schools.com/tags/ref_urlencode.asp