URLのパス内にハッシュ文字(#)を送信する必要があるPHPプロジェクトがあります。 (http://www.example.com/parameter#23/parameter#67/index.php)私は、urlencodeでこれを可能にし、%23にハッシュを変換すると考えました。mod_rewriteを使用してハッシュ文字を含むパスをクエリ文字列に変換する
しかし、今では、URLフラグメント化されたハッシュでもブラウザがURLフラグメント(またはクエリ)としてすべてを扱うようになっています。
ハッシュを通過させる方法はありますか、またはurlencodeの前に文字置換を行う必要はありますか?
編集(2017年9月19日)を追加するには:
それは私が間違った質問をしたことが判明しました。私の問題は、パス内のハッシュ文字を使用することではなく(動作するエンコーディング)、mod_rewriteを使用してクエリ文字列に変換することでした。私はRewriteRule内で再エンコードできませんでした。私は一致するタイトルを編集します。ここで
は私が使っていた書き換えルールである:私はBのタグを追加するとすぐにRewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L]
、それが正常に働いていた:
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]
どのように使用しますか? – Gumbo
私はurlencodeを%23に変更する必要があります、あなたはサンプルコードを提供できますか? –
動的に作成されたPDFへの静的リンクを作成しています。私はmodrewriteを使ってパス要素を$ _GETに渡しています。これらは、PDFを作成するために必要な製品パラメタです。製品の中には、製品名にハッシュタグが付いているものがあります。 – Mark