2013-05-07 126 views
1

我正在將相同的應用程序遷移到其他域的過程。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; 
    } 
    ... 
} 

我不工作。如何實現這一目標?

回答

1

不要把方案在改寫模式:

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

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 
} 

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

1

我更喜歡這種方法,因爲它不需要使用重寫,我所閱讀的內容之一很好避免太多,因爲它需要nginx引擎進行更多處理。

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

謝謝,爲另一個版本。但是,你能指出我如何添加一個額外的頭,我可以在app.sparkon.com上使用嗎? – Autodidact 2013-05-15 08:54:19

相關問題