带有%26的mod_rewrite

时间:2010-11-02 16:03:55

标签: apache mod-rewrite

我正在尝试将类似名称作为参数传递给此

“灯+&安培; +灯”

使用此重写规则

RewriteCond %{HTTP_HOST}        example.com$
RewriteRule ^/category/([^/]+)$   /showproduct.pl?category=$1 [PT]

我理解&是一个参数分隔符,但即使我传入:

“灯+%26 +灯”

我的输出是“Lights”

所以mod重写在%26

吃了所有东西

我尝试过不同的旗帜,如[NE]和QSA,但没有运气。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在此之前,您是否可以使用其他规则将%重写为%25

答案 1 :(得分:0)

我有类似的问题,其中'&'(“&”号)被mod_rewrite错误地重写了。 B标志解决了这个问题:

  

B(转义反向引用) [B]标志指示RewriteRule进行转义   非字母数字字符,然后应用转换。

这使我可以提供名称中包含“&”的文件,例如here 您需要的是这个

RewriteCond %{HTTP_HOST}        example.com$
RewriteRule ^/category/([^/]+)$   /showproduct.pl?category=$1 [B, PT]