<转>nginx实现永久(301)/临时(302)跳转的方法

先科普下:

301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。

302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。

二者的区别主要是,一句话,302容易被搜索引擎视为spam,301则不会。

nginx官方rewrite文档:传送门

nginx与apache规则区别不大,本代码实现XXX.com跳转到www.XXX.com,以避免搜索引擎分散权重。

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

添加到/usr/local/nginx/conf/nginx.conf
添加在conf配置文件内即可,一般我与伪静态的配置放在一起。代码中判断,非www.XXX.com的,就自动跳转到www.XXX.com,permanent代表301永久跳转,改为redirect则为302临时跳转。

如果301状态不生效的话:
需要去/usr/local/nginx/conf/vhost/目录下对应的conf文件里面添加

if ($host = ‘hugao8.com’ ) {
rewrite ^/(.*)$ http://www.hugao8.com/$1 permanent;
}

posted on 2016-02-25 16:15  hahahahahai12  阅读(2624)  评论(0)    收藏  举报

导航