重定向通配符子域名

重定向通配符子域名

我是 nginx 新手,只是想寻求一些建议/帮助。我有两个域名,一个是原域名oldsite.com,另一个是新域名newsite.com

我想设置从 *.oldsite.com 到 *.newsite.com 的 301 重定向。我查看了文档,似乎如果您确实知道要重定向的子域,这很容易,但我找不到任何有关通配符子域的信息。

非常感谢任何帮助/见解。

答案1

我只是想扩展 heiko 的回答,你应该在重定向中包含 request_url。

    server {
      listen 80; 
      server_name .oldsite.com;

      if ($host ~ ^(\w+)\.oldsite\.com$) {
        return 301 https://$1.newsite.com$request_uri;
      }
      return 404;
    }

答案2

请参阅 nginx 文档以了解正则表达式

我还没有尝试过,但它应该看起来像这样......

    if ($host ~ (.+)\.some\.domain$) {
        return 301 http://$1.other.domain/;
    }  

相关内容