查询字符串重写后转义字符

时间:2013-08-20 09:30:26

标签: .htaccess mod-rewrite url-rewriting url-encoding

重写.htaccess

中的查询字符串后
RewriteCond %{QUERY_STRING} &q=([^&]+) [NC]
RewriteRule ^(.*/search)$ $1?q=%1 [R=301,NC,L]

Charackters如Ė,Į,Š,Ų,Š,Ų正转换为%C4%96,%C4%AE,%C5%A0,%C5%B2,%C5%A0,%C5%B2。有没有办法禁用这些charachters转换?当搜索词变为%C4%96ien而不是šien时,我的搜索不起作用。

1 个答案:

答案 0 :(得分:0)

您需要使用NE标志来防止在查询字符串中发生双重编码:

RewriteCond %{QUERY_STRING} &q=([^&]+) [NC]
RewriteRule ^(.*/search)$ $1?q=%1 [R=301,NC,L,NE]