0

私の .htaccess ファイルのこの行は基本的にエスケープし、最初のディレクトリをクエリ文字列に変換します。

RewriteRule ^([^/]+)/?$ /a/?s=$1 [L,QSA,B]

これは主に&記号をエスケープするために行いましたが、「+」記号を含む英数字以外のすべての文字をエスケープします。URLがよりクリーンになるように、これらをエスケープしたくありません。

eat%20a%20pizza

私が欲しい:

eat+a+pizza

「%20」を「+」に置き換えるか、B フラグがエンコードされないようにすることは可能ですか?

4

1 に答える 1

0

フラグがどのように機能するかを具体的に示す方法があるかどうかはわかりませんが、次のように戻すBことができます。%20+

RewriteRule ^(.*)%20(.*)$ /$1+$2 [NE,L]

すべてのを取り除くためにループする必要があるので、おそらくそれを置くための適切な場所を見つける必要があるでしょう%20

于 2012-08-03T08:17:05.700 に答える