nginx 重定向到 www.domain

nginx 重定向到 www.domain

我想将网站始终重定向到 www.site.com。但是,我不确定如何让 WWW 始终显示在最前面,如果有人输入不带 www 的域名。

编辑:

server {
        listen  80;
        server_name  site.com;
        rewrite ^(.*) https://www.site.com$1 permanent;
}

server {
    listen       80;
    server_name  www.site.com;
    #rewrite ^(.*) https://www.site.com$1 permanent;
    root /home/site/public_html;

        listen       443 ssl;

如果我输入 site.com,它会转到https://www.site.com= SUCCESS

如果我输入 site.com/index.php 它会转到http://www.site.com= NO SSL

有想法吗?

答案1

你的方法很困难。这是简单的方法。

server {
    listen 80;
    server_name  example.com;
    rewrite ^(.*) http://www.example.com$1 permanent;
}

server {
    listen 80;
    server_name  www.example.com;
    #The rest of your configuration goes here#
}

答案2

最好使用return而不是rewrite,因为它更快。

server {
    listen 80;
    server_name     example.com;
    return          301 http://www.example.com$request_uri;
}

server {
    listen 80;
    server_name     www.example.com;
    [...]
}

这样,我们还向客户端发送适当的状态代码,以便他在下一个请求中询问正确的域。

相关内容