我有2個Nginx服務器提供來自未知父域的2個不同子域的靜態文件,比如說<env>.foo.<domain>.com
和<env>.bar.<domain>.com
。Nginx永久重定向到特定子目錄的不同網址
我想配置nginx的服務器<env>.foo.<domain>.com
因此,如果URL的子目錄cat
或dog
我想重定向到<env>.bar.<domain>.com/<subdirectory>/<rest of url>
。
例如
http://dev.foo.mydomain1.com/cat/22 -> http://dev.bar.mydomain1.com/cat/22
http://dev.foo.mydomain1.com/dog/22 -> http://dev.bar.mydomain2.com/dog/22
http://dev.foo.mydomain2.com/dog/22 -> http://dev.bar.mydomain2.com/dog/22
http://dev.foo.mydomain1.com/bird/22 -> [no redirect]
域的<env>
和<domain>
部分是動態的根據向所述服務器部署環境,但是2個nginx的框之間常見的。
我想它是這樣的:
server {
location ??? /(cat|dog) {
return 301 $scheme://???/$1$is_args$query_string;
}
}
但我的nginx的技能是不能令人信服......
'dev.foo.mydomain2.com'和'dev.foo.mydomain1.com'在相同的nginx或不同的nginx上處理?也做這些聽相同的服務器塊或不同的服務器塊? –
同nginx,但部署到不同的環境。例如。 staging.foo.domain1.com,demo.foo.domain2.com – harryg
'foo'和'bar'子域位於完全獨立的nginx框中 – harryg