在 nginx 中从域名中删除 www

在 nginx 中从域名中删除 www

我想www.从主站点和所有子级域名中删除。我不在乎我处于 TLD 的多少级;www被禁止使用。它应该发出 301 重定向。

  • www.example.com
  • www.123.example.com

我写了以下服务器块,但它似乎不起作用。

server {
    listen 80;
    server_name ~^(www\.)(?<domain>.+)$;
    return 301 $scheme://$domain/$request_uri;
}

答案1

以下是我的做法:

server {
   listen       80;
   server_name  ~^www\.(?<domain>.+?)$;
   return 301 $scheme://$domain/$request_uri;
}

答案2

这个问题

if ($http_host ~* "^www\.(.+)$"){
rewrite ^(.*)$ http://%1$request_uri redirect;
}

相关内容