2

mod_rewrite で、小さいながらも紛らわしい htaccess の問題があります。http://www.mydomain.com/ladies-boots/?shoesize=43&calfwidth=Khttp://www.mydomain.com/ladies-boots/#nogo&somevar=1&shoesize=43&calfwidth=Kに転送する必要があり ます。

私たちのコード (別の Stackoverflow 投稿のおかげで) は次のとおりです。

RewriteCond %{QUERY_STRING} ^shoesize=([0-9]+)\&calfwidth=([A-Z])$ 
RewriteRule ^ladies-boots/$ http://www.mydomain.com/ladies-boots/#nogo&somevar=1&shoesize=%1&calfwidth=%2? [R=301,L]

上記はうまく機能しますが、ハッシュ # タグが Apache によってエスケープされ、# の代わりに %23 を使用して URL が書き込まれます。

これを回避する方法はありますか? Javascript/非 SE フレンドリーな機能にはハッシュ タグが必要ですが、上記の URL は機能するハッシュ タグなしでは使用できません。

どうもありがとう!

4

2 に答える 2

2

上記はうまく機能しますが、ハッシュ # タグが Apache によってエスケープされ、# の代わりに %23 を使用して URL が書き込まれます。

NE角括弧内でフラグを使用すると、ハッシュタグをエスケープ解除できます。[R=301,L,NE]

于 2012-07-31T17:13:23.707 に答える
0

いいえ、仕方がありません。URL には、文字、数字、記号 / ? のみを含めることができます。&.

于 2012-07-31T12:31:55.363 に答える