简体   繁体   中英

Nginx redirect from one domain to another?

I'm on the process of migrating the same app but to a different domain.

For the old domain, I've the routes as:

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

I want it to be redirected to another domain omitting the app part as:

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

I tried with:

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

I doesn't work. How to achieve this?

I had this issue about a year ago and spent a long time looking for solutions. I found and use this:

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
}

From this link . Credit to them.

Don't put scheme in the rewrite pattern:

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

Brg.

I prefer this method as it doesn't need to use rewrite, one of the things that i read are good to avoid too much, cause it needs more processing by the nginx engine.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM