Nginx 301 子域

Nginx 301 subdomain

我想要这个功能:

mydomain.com--->301--->mynewdomain.com
subdomain1.mydomain.com--->301--->subdomain1.mynewdomain.com
subdomain2.mydomain.com--->301--->subdomain2.mynewdomain.com
...............
subdomain*.mydomain.com--->301--->subdomain*.mynewdomain.com

所以谁能给我一些nginx配置代码。 我试过了,没用:

server{
    listen 80;
    server_name "~^(.*)mydomain.com";
    set $sub_name ;
    return 301 $scheme://{$sub_name}mynewdomain.com$request_uri ;
}

您应该在 server_name 正则表达式中使用命名捕获。有关详细信息,请参阅 this document

如果变量名需要大括号,请使用 ${ ... }

例如:

server{
    listen 80;
    server_name ~^(?<sub_name>.*)mydomain.com;
    return 301 $scheme://${sub_name}mynewdomain.com$request_uri;
}