【问题标题】:Nginx 301 subdomainNginx 301 子域
【发布时间】:2019-03-05 18:48:33
【问题描述】:

我想要这个功能:

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 $1;
    return 301 $scheme://{$sub_name}mynewdomain.com$request_uri ;
}

【问题讨论】:

    标签: nginx http-status-code-301


    【解决方案1】:

    您应该在server_name 正则表达式中使用命名捕获。详情请见this document

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

    例如:

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

    【讨论】:

      猜你喜欢
      • 2018-09-13
      • 2018-03-08
      • 2021-07-26
      • 2017-06-15
      • 2023-03-21
      • 2013-09-19
      • 2013-09-26
      • 1970-01-01
      相关资源
      最近更新 更多