首页 > 开发 > PHP > 正文

php 301重定向跳转解决方法

2024-05-04 22:00:40
字体:
来源:转载
供稿:网友

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

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

  1. Options +FollowSymlinks 
  2. RewriteEngine on 
  3. rewritecond %{http_host} ^Vevb.com [nc] 
  4. rewriterule ^(.*)$ http://www.Vevb.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.Vevb.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.Vevb.com ')//如果域名不是带www的网址那么进行下面的301跳转 
  7. header('HTTP/1.1 301 Moved Permanently');//发出301头部 
  8. header('Location:http://www.Vevb.com '.$the_url);//跳转到带www的网址 

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

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

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表