仅在 WWW 上重定向至非 www 域 NGINX

仅在 WWW 上重定向至非 www 域 NGINX

我很困惑,这个额外的服务器块会将任何子域名重定向到吗https://example.com

     server { 
         server_name www.example.com
         return 301 https://example.com$request_uri; 
     }

据我所知,这样做是不好的做法

        if ($host ~* ^www\.) {
            return 301 https://example.com$request_uri;
        }

但是,至少在这种情况下,我确信只有存在 WWW 才会重写。

答案1

server_name指令匹配Host请求标头。通过指定“www.example.com”,该服务器块仅适用于主机标头与该域名精确匹配的请求。

查看 nginx文档更多细节。

相关内容