nginx将所有www域重定向到非www域

时间:2017-11-20 07:40:24

标签: nginx nginx-location

我们正在运行nginx并在其上托管多个域。

我们想将所有www.domain重定向到非www域。有没有办法在不配置单个服务器的情况下同时为所有服务器执行此操作。例如,我知道我可以通过以下配置为一台服务器实现它,但我正在寻找一个匹配所有域的解决方案

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

2 个答案:

答案 0 :(得分:3)

server {
     server_name "~^www\.(.*)$";
     return 301 https://$1$request_uri;
}

使用nginx regexp server_name来实现它。 https://nginx.ru/en/docs/http/server_names.html

答案 1 :(得分:2)

谢谢大家和亚历山大。我最后通过在你的答案中添加$ scheme来使用它

server {
        server_name "~^www\.(.*)$" ;
        return 301 $scheme://$1$request_uri ;
}