2012-02-20 6 views
0

文字を含む可能性のあるパラメータを含む書き換えルールを作成します。%ルールに追加すると、ウェブサイトが壊れ、すべてのページでエラーが返されます。htaccess書き換えルールがパラメータ内の%文字を受け入れる

RewriteRule ^sale/([a-zA-Z0-9_-%]+)$ browse.php?id=$1 

私は、数字0〜9と特殊文字-_%、パラメータが文字を含めることができるようにしたかったです。

私は%を削除した場合、それは正常に動作しますが、明らかに私はそれは、例えば、URLの文字として受け入れられるようにしたい:

http://www.websitename.com/sale/test%20parameter

答えて

2

Apacheがpercentage-を変換し使用することができますmod_rewriteに送る前にURLの中にエンコードされた文字を挿入します。したがって、あなたのURLに%20を受け入れる場合は、RewriteRule内にスペースを追加するだけで済みます。ただし、領域はRegulare式とRewriteRuleの置換文字列を区切るため、スペースの場合は\

を使用してエスケープする必要があります
関連する問題