Nginx重定向从一个域到另一个域?

问题描述:

我正在将相同的应用程序迁移到其他域的过程。Nginx重定向从一个域到另一个域?

旧域,是我去过的路线为:

http://app.example.com/app/users/sign_in?query=hello 

我希望它被重定向到另一个域名省略app部分为:

http://app.newexample.com/users/sign_in?query=hello 

我试过:

server { 
    ... 
    location /app { 
    rewrite ^$scheme://app.sparkon.com/app(/.*)$ $1 last; 
    } 
    ... 
} 

我不工作。如何实现这一目标?

不要把方案在改写模式:

server { 
    server_name app.example.com; 
    location /app/ { 
     rewrite ^/app/(.*)$ http://app.newexample.com/$1; 
    } 
} 

BRG。

+0

你可以再读一次这个问题吗?我希望'/ app'被删除/删除。 – Autodidact 2013-05-07 10:45:08

+0

如何将引用程序的额外标题附加上述重写内容? – Autodidact 2013-05-09 06:39:05

我在一年前有过这个问题,并花了很长时间寻找解决方案。我发现和使用这个:

server { 
    listen 80; 
    server_name example.com app.example.com; 
    rewrite ^/app(.*)$ http://app.newexample.com$1 permanent; 
} 

server { 
    listen 80; 
    server_name app.newexample.com; 
    # config for primary domain here 
} 

this link。信贷给他们。

+0

你能不能再读一遍这个问题。我希望'/ app'被删除/删除。 – Autodidact 2013-05-07 10:42:09

+0

替换此行:'重写^(。*)http://app.newexample.com$1永久;'用'重写^/app(。*)$ http://app.newexample.com$1永久;'然后。 – 2013-05-07 10:52:49

我更喜欢这种方法,因为它不需要使用重写,我所阅读的内容之一很好避免太多,因为它需要nginx引擎进行更多处理。

location ~ /app/(.*) { 
    return 301 $scheme://app.sparkon.com/$1; 
    } 
+0

谢谢,为另一个版本。但是,你能指出我如何添加一个额外的头,我可以在app.sparkon.com上使用吗? – Autodidact 2013-05-15 08:54:19