2014-10-16 111 views
1

基本上我有在中正确设置proxy_redirect的问题。基本上我想执行代理重定向这样的:如何保留在Nginx的proxy_redirect最终url中的子域和基本路径

http://subdomain.domain.com/test1/test2/test3 -> http://subdomain.another.com/test1/test2/test3 

这里子域名和URL路径(即/ TEST1/TEST2/TEST3)不断变化的,所以在这里我不得不从重定向URL抓住他们,并把它传递给最终的网址。

我试图像这样:

proxy_redirect ~^(http://[^\.]+)\.domain\.com/(.+)$ http://$1.another.com/$2; 

请提供任何解决方案做到这一点。

+0

读nginx的代理模块文档。你做的事情完全错误 – 2014-10-16 18:14:44

+0

@AlexeyTen我认为这是正则表达式。请提出建议。我已经阅读了文档,但在正则表达式中很少有人混淆。 – Akhilesh 2014-10-16 18:26:05

+0

显示完整配置 – 2014-10-17 05:58:52

回答

0

这改写,使用正则表达式,而更改域将保留路径:

server { 
    listen    80; 
    server_name   subdomain.domain.com; 

    location/{ 
     rewrite ^/(.*)$ subdomain.another.com/$1; 
    } 
}