Nginx反向代理 URL【参数】转换为URL 【Path】,支持Post请求, 如访问路径为 http://www.domain.com/abc/efg/key=xxx, 反向代理为 http://192.168.0.113:8000/xxx/abc/efg/key=xxx
location ~ ^/ { #匹配所有路径 【^/】,【~】区分大小写,【~*】不区分大小写
root /work/html/;
index index.html;
if ($query_string ~* "key=(.+)$") { #匹配url的参数 key=xxx
set $key $1; #将$1 (xxx) 付给变量$key
rewrite ^/(.*)$ /$key/$1 break; #重定向访问路径,如访问路径为 /abc/efg/key=xxx, 重定向后 /xxx/abc/efg/key=xxx
proxy_pass http://192.168.0.113:8000; #反向代理
}
}
location ~ ^/ { #匹配所有路径 【^/】,【~】区分大小写,【~*】不区分大小写
root /work/html/;
index index.html;
if ($query_string ~* "key=(.+)$") { #匹配url的参数 key=xxx
set $key $1; #将$1 (xxx) 付给变量$key
rewrite ^/(.*)$ /$key/$1 break; #重定向访问路径,如访问路径为 /abc/efg/key=xxx, 重定向后 /xxx/abc/efg/key=xxx
proxy_pass http://192.168.0.113:8000; #反向代理
}
}