Nginx使用301跳转到带www的域名的配置方法
前言
网站域名一般都有两个,即带www的和不带www的。当用户使用不带www的域名时,也可以正常访问你的网站。但是这样做也有不好的一面,那就是站点主域名的PR值分散到其他几个URL上了。因为在搜索引擎看来,带www和不带www的URL是2个完全不同的URL,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个URL作为主要的域名,就会影响网站的排名,因为网站权重被分散了。那么这时候应该怎么做呢?这时候千万不要停止其中任何一个的解析,而是要使用301重定向把其他几个URL如example.com转到www.example.com时,相应的PR也就集中在主域名:www.example.com上了。
永久跳转和临时跳转
301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。
二者的区别主要是,302容易被搜索引擎视为垃圾,301则不会,而且会转移权重。permanent代表301永久跳转,改为redirect则为302临时跳转。
配置方法
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
index index.html index.js;
....
}
注意return 301 网址的时候一定要加http!,否则会出现多次重定向
重启动nginx
#重新启动nginx
nginx -s reload
然后在浏览器里输入网址进行测试看是否成功