1
我目前正在玩弄nginx,並試圖重定向所有流量。 firstdomain.org to seconddomain.org這對於簡單的重定向工作正常,但我現在也希望它能夠處理URI,方案和子域。使用nginx重定向某個域的所有流量
E.g.
http(s)://firstdomain.org/
重定向到http(s)://seconddomain.org/
, http(s)://firstdomain.org/test
重定向到http(s)://seconddomain.org/test
, http(s)://test.firstdomain.org/
重定向到http(s)://test.seconddomain.org/
等..
我的當前設置是這樣的:沒有
server {
listen 80;
listen 443 ssl;
server_name ~^(?<sub>\w+)\.firstdomain\.org$, firstdomain.org;
ssl_certificate /path/to/certificate;
ssl_certificate_key /path/to/certificatekety;
location/{
if ($sub = '') {
return 301 $scheme://seconddomain.org$request_uri;
}
return 301 $scheme://$sub.seconddomain.org$request_uri;
}
}
這是鏈接重定向子域就好,但只要它是例如http(s)://test.subdomain.org
或http(s)://test.subdomain.org/test
它不起作用了。
有什麼我錯過了,或者有可能更簡單的方法nginx支持實現我想要做的事情嗎?
這個工作,非常感謝你! 只需要注意一點:它看起來像你需要將'firstdomain.org'添加到'server_name',否則它不會重定向普通的'http:// firstdomain.org'請求。 – 4m4rOk
@Luca哎呀抱歉。我在正則表達式中加了一個'?'來使捕獲成爲可選的。 –
我再次刪除'firstdomain.org'並添加了'?'。現在一切都按預期工作。謝謝! – 4m4rOk