计算机/互联网
计算机/互联网 > > 详情
nginx配置永久301和临时302跳转
2019-06-26 01:36 2KB.COM 阅读:517

1111.png


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

302为临时跳转,也是状态码,是指暂时转向到另外一个网址。


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


nginx官方rewrite文档:

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

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

添加到/usr/local/nginx/conf/nginx.conf


添加在conf配置文件内即可,一般与伪静态的配置放在一起。

代码中判断,非www.2kb.com的,就自动跳转到www.2kb.com,

permanent代表301永久跳转,改为redirect则为302临时跳转。

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

if ( $host = '2kb.com' ) {
rewrite ^/(.*)$ http://www.2kb.com/$1 permanent;
}


另外注意

原因是nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的规则是:

if ( $host = '2kb.com' ){
   rewrite ^/(.*)$ http://www.2kb.com/$1 permanent;
}


如果用^代替空格,规则如下:


if^(^$host^=^'2kb.com'^){
   rewrite ^/(.*)$ http://www.2kb.com/$1 permanent;
}


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

上一篇 下一篇

首页

搜索

订单

购物车

我的