2012-01-11 9 views

答えて

0

%29はクエリー文字列でのみ許可され、URLでは許可されないため、書き換えたいURLは無効です。 %%25(バックスラッシュではなく)を%エスケープする必要があるので、結果の式は何か...%2529 - これはうまくいくはずです。

詳しくはRFC2396を参照してください。

+0

おかげで、しかし、問題は解決していません%29 example.Iあなたは、なぜどのように伝えるway.Canこの中でヘブライ語の文字をエンコードしたいだけのためだった:上記

あなたのルールがなるべきです。 .htaccessのエンコードされた文字%を使用してURLを書き換えます。 – sunil

+0

私はまさにあなたがしようとしていることをよく理解していません。しかし、[B]フラグ(Apache> = 2.2を使用すると仮定した場合)を使用して後方参照をエスケープしたり、noescapeフラグ[NE]を使用して遊んだりすることができます。詳細は、http://httpd.apache.org/docs/trunk/rewrite/flags.htmlを参照してください。 – Olaf

2

Apache%は、書き換えルールを適用する前にurl-pathをデコードします。したがって、RewriteRuleで%-encodingを使うべきではありません。ただの通常の文字を使用してください。

あなたの場合は、)を使用してください。 )しかし、正規表現では特殊文字なので、正規表現では正規表現の前にスラッシュをつけてエスケープする必要があります。したがって、\)になります。あなたの答えのための

RewriteRule area/something\)/(.*)/ listing.php?area=$1 
+2

特殊文字は\ x29と表記することもできます。 – Gerben

関連する問題