我正在尝试针对以下情况实施nginx重写规则
请求:
http://192.168.64.76/Shep.ElicenseWeb/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635
应重定向到:
http://localhost:82/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635
我试了这个没有运气:
location /Shep.ElicenseWeb/ {
rewrite ^/Shep.ElicenseWeb/ /$1 last;
proxy_pass http://localhost:82;
}
为nginx执行这样的重写的正确方法是什么?
答案 0 :(得分:47)
您的重写声明错误。
右边的$ 1指的是匹配部分中的一个组(由paratheses表示)。
尝试:
rewrite ^/Shep.ElicenseWeb/(.*) /$1 break;
答案 1 :(得分:4)
您缺少斜杠:
location /Shep.ElicenseWeb/ {
proxy_pass http://localhost:82/;
}
这无需重写即可工作。