1

我正在使用 RewriteCond 指令来检查 QUERY_STRING 是否匹配键,如果它们匹配,我会将用户从当前页面重定向到其他站点,最后丢弃 QUERY_STRING。

所以请求:www.mysite.com/something.jsp ?Mw%3D%3D&Tm90YXMgZGUgcHJlbnNh

应该重定向到: http: //othersite.com/something

RewriteEngine On
RewriteCond \/something\.jsp%{QUERY_STRING} Mw%3D%3D&Tm90YXMgZGUgcHJlbnNh
RewriteRule .$ %{ENV:SCHEME}://othersite.com/something? [R=301,L,NE]

但是,当我提出请求时,我被重定向到:

http://othersite.com/something?Mw%253D%253D&Tm90YXMgZGUgcHJlbnNh

似乎 mod_rewirte 正在将 url 中的“%”转义为“%25”。

4

1 回答 1

0

标志的顺序很重要,解决方案是将标志的顺序更改为:[R=301,NE,L]

[L] 标志导致 mod_rewrite 停止处理规则集。

呃!

于 2013-05-30T23:23:01.987 回答