首页 > 技术文章 > nginx if rewrite 正确处理带与不带Url参数

capacity-yang 2020-07-27 09:39 原文

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/([^?]*)") {

推荐阅读