具有代理传递的Nginx重写规则

时间:2012-11-24 07:25:03

标签: url-rewriting nginx

我正在尝试针对以下情况实施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执行这样的重写的正确方法是什么?

2 个答案:

答案 0 :(得分:47)

您的重写声明错误。

右边的$ 1指的是匹配部分中的一个组(由paratheses表示)。

尝试:

rewrite  ^/Shep.ElicenseWeb/(.*)  /$1 break;

答案 1 :(得分:4)

您缺少斜杠:

location /Shep.ElicenseWeb/ {
    proxy_pass http://localhost:82/;
}

这无需重写即可工作。