私は.htaccess
で、次のようなものがある:.htaccessでハッシュ(#)文字をエスケープする方法は?
RewriteRule ^a/(.+)$ index.php?data=$1 [L]
、私は、次のURLを使用する場合を除き:
http://example.com/a/hello%23abc
を、私は、これはdata
GETを設定することを期待変数はhello#abc
になりますが、代わりに破損します。私は、Apache「エスケープを解除」の文字は、次のURLを作成するので、それが壊れることを想定しています。おそらくそれはhello
にdata
GET変数を設定していますされている理由
index.php?data=hello#abc
。
これを修正する方法はありますか?
ありがとうございました。
その部分は "フラグメント" と呼ばれ、あなたはこのようにそれを得ることができます:「( $のURL =でもparse_url http://domain.com/site/gallery/1 #photo45 "); echo $ url ["fragment"]; //この変数にはフラグメントが含まれています この例をhttp://stackoverflow.com/a/2317518/4817575に投稿 –
@JatinderKaur知っていますが、私はそれをしたくありません - 私はURLを書き直したい'index.php?data = hello%23abc' – think123
実際にどのURLが書き換えられるかを見るには[L、R]を使用してください。 –