2

我正在将同一个应用程序迁移到不同的域。

对于旧域,我的路线如下:

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;
  }
  ...
}

我不工作。如何做到这一点?

4

3 回答 3

2

大约一年前我遇到了这个问题,并花了很长时间寻找解决方案。我发现并使用了这个:

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
}

这个链接。归功于他们。

于 2013-05-07T08:51:38.393 回答
1

不要将方案放在重写模式中:

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

Brg。

于 2013-05-07T09:13:54.310 回答
1

我更喜欢这种方法,因为它不需要使用重写,我读过的一件事是避免太多,因为它需要 nginx 引擎进行更多处理。

  location ~ /app/(.*) {
    return 301 $scheme://app.sparkon.com/$1;  
  }
于 2013-05-13T18:38:33.700 回答