を使用してURLの書き換えに特殊文字のエンコーディング404エラー:は、私はそれが働いている、次のように書き換えルールを持っているのhtaccess
RewriteRule area/something%29/(.*)/ listing.php?area=$1
%29
としても\%29
ない作品をエスケープします。
を使用してURLの書き換えに特殊文字のエンコーディング404エラー:は、私はそれが働いている、次のように書き換えルールを持っているのhtaccess
RewriteRule area/something%29/(.*)/ listing.php?area=$1
%29
としても\%29
ない作品をエスケープします。
%29はクエリー文字列でのみ許可され、URLでは許可されないため、書き換えたいURLは無効です。 %%25(バックスラッシュではなく)を%エスケープする必要があるので、結果の式は何か...%2529 - これはうまくいくはずです。
詳しくはRFC2396を参照してください。
Apache%は、書き換えルールを適用する前にurl-pathをデコードします。したがって、RewriteRuleで%-encodingを使うべきではありません。ただの通常の文字を使用してください。
あなたの場合は、)
を使用してください。 )
しかし、正規表現では特殊文字なので、正規表現では正規表現の前にスラッシュをつけてエスケープする必要があります。したがって、\)
になります。あなたの答えのための
RewriteRule area/something\)/(.*)/ listing.php?area=$1
特殊文字は\ x29と表記することもできます。 – Gerben
おかげで、しかし、問題は解決していません%29 example.Iあなたは、なぜどのように伝えるway.Canこの中でヘブライ語の文字をエンコードしたいだけのためだった:上記
あなたのルールがなるべきです。 .htaccessのエンコードされた文字%を使用してURLを書き換えます。 – sunil
私はまさにあなたがしようとしていることをよく理解していません。しかし、[B]フラグ(Apache> = 2.2を使用すると仮定した場合)を使用して後方参照をエスケープしたり、noescapeフラグ[NE]を使用して遊んだりすることができます。詳細は、http://httpd.apache.org/docs/trunk/rewrite/flags.htmlを参照してください。 – Olaf