我们有两个指向同一服务器的域。我们最近在品牌上加了一个商标,因此我们希望拥有它,以便URL从old_domain.com更改为new_domain.com。
我也想拥有它,以便也使用用户最初输入的子域和URI。
例如-
https://beta.old_domain.com/my_profile
redirects to
https://beta.new_domain.com/my_profile
我尝试了几种解决方案,但正在努力使其正常工作。我是最新的-
/etc/nginx/sites-available/old_domain.com
server {
listen 80;
listen 443 ssl;
server_name old_domain.com;
if ($host ~ (.*)\.old_domain\.com(.*)) {
set $subdomain $1;
return 301 $subdomain.new_domain.com$request_uri;
}
}
答案 0 :(得分:1)
我通过创建两个不同的server
块来做到这一点,一个用于主域,另一个用于重定向子域上的请求:
server {
server_name old-domain.com;
return 301 $scheme://new-domain.com$request_uri;
}
server {
server_name ~^(?<name>\w+)\.old-domain\.com$;
return 301 $scheme://$name.new-domain.com/;
}