当前位置:首页 > PHP教程 > php应用 > 列表

php 301重定向跳转解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2017-03-23 10:17:27 浏览: 评论:0 

301重定向就是告诉搜索引擎永远都改变了地址了,这个就是跳转了会返回一个301状态码给搜索引擎了,所有搜索引擎都遵守这个规则了。

一、网站初期,一般只需做不带www的域名301转向到带www域名上;

  1. Options +FollowSymlinks 
  2. RewriteEngine on 
  3. rewritecond %{http_host} ^phpfensi.com [nc] 
  4. rewriterule ^(.*)$ http://www.phpfensi.com /$1 [r=301,nc] 

二、不同域名301跳转方法;

当想重新更换域名时,我们就需要把原有的网站权重移动到最新的网站上,就需要做不同域名的301跳转;

  1. Options +FollowSymlinks 
  2. RewriteEngine on 
  3. rewritecond %{http_host} ^www.domain1.com [nc] 
  4. rewriterule ^(.*)$ http://www.domain2.com/$1 [r=301,nc] 

注:此类跳转,一般是因网站改版而起,如果想要把权重最大化转移,请根据百度站长平台给出的解决办法进行解决。

以上2种方法,是针对Apache而言,如果你用得非Apache(如:nginx),那么就不能用.htaccses文件,也就不能使用以上方法,那怎么办?——对网页直接进行301跳转修改!

一、对某个单页面进行301跳转,只需在PHP网页顶部输入下面的代码就可以。代码如下:

  1. <?php 
  2. Header("HTTP/1.1 301 Moved Permanently"); 
  3. Header("Location: http://www.phpfensi.com "); 
  4. ?> 

二、针对全站页面进行301跳转解决方法

1、建立301.php文件(文件名自取)

  1. $the_host = $_SERVER['HTTP_HOST'];//取得当前域名 
  2. $the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分 
  3. $the_url = strtolower($the_url);//将英文字母转成小写 
  4. if($the_url=="/index.php")//判断是不是首页 
  5. $the_url="";//如果是首页,赋值为空 
  6. if($the_host !== 'www.phpfensi.com ')//如果域名不是带www的网址那么进行下面的301跳转 
  7. header('HTTP/1.1 301 Moved Permanently');//发出301头部 
  8. header('Location:http://www.phpfensi.com '.$the_url);//跳转到带www的网址 

2、在网页文件中调用301.php

<?php include("301.php");?>

将这个代码放到你所有网页的最前面。

好了,重定向就做好了,将301文件上传到网站目录,就可以去看着你的成果了。

Tags: 301重定向 php跳转

分享到: