nginx if rewrite 正确处理带与不带Url参数
location ~ / {
proxy_read_timeout 600s;
proxy_next_upstream_tries 1;
client_max_body_size 100m;
if ($request_uri ~ "/abcd/([^?]*)") {
set $path $1;
rewrite . /$path;
proxy_pass http://127.0.0.1:8081;
break;
}
proxy_pass http://127.0.0.1:8080;
}
从配置上看,rewrite后好像接收不到请求参数似的。其实是可以的。
另外下面两行是不一样的:
if ($request_uri ~ "/abcd/([^?]*)") {
if ($request ~ "/abcd/([^?]*)") {