Nginx 无 WWW 自动跳转 WWW

有www转无www

1
2
3
if ( $host ~* ^www\.(?<nowww>.*)$ ) {
rewrite .* $scheme://$nowww$request_uri permanent;
}

无www转www

1
2
3
if ( $host ~* ^(?!www\.) ) {
rewrite .* $scheme://www.$host$request_uri permanent;
}

第二种方法:
当然也可以配置多个server_name来重定向

1
2
3
4
server {
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
设置完成后 service nginx reload重新加载一次

然后就可以看到效果了,如果还是不行看看,你的配置是否正确,还有就是域名解析是否正确
检查域名解析可以使用 nslookup 命令,看返回的IP是否是你主机的IP

另外也可以使用站长工具来查看返回状态码是不是301重定向 http://tool.chinaz.com/pagestatus/

另外补充说明一点:

301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。
二者的区别主要是,一句话,302容易被搜索引擎视为spam,301则不会。
permanent代表301永久跳转,改为redirect则为302临时跳转。

评论

还没有任何评论,你来说两句吧

你必须 登录 才能发表评论.