原始请求地址:
www.example.com/index.php?r=mobile/receive/index
重写请求地址:
www.example2.com/newindex.php?r=mobile2/receive2/index2
这是我自己的配置:
if ($args ~* "^r=mobile/receive/index") {
rewrite ^ "http://www.example2.com/newindex.php?r=mobile2/receive2/index2";
}
但改写后的地址结尾是这样的:
http://www.example2.com/index.php?r=mobile2/receive2/index2&r=mobile/receive/index
看到我的问题了吗?重写的地址会自动添加,但这不是我想要的。相同的参数键会导致封底覆盖正面。
答案1
为了防止原始查询字符串被附加到目标 URL,您需要?
在重写 URL 的末尾添加一个额外的问号 ( )。例如:
rewrite ^ http://www.example2.com/newindex.php?r=mobile2/receive2/index2?;
参考:
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite