PHP网站301重定向方法举例

发布时间:2020-11-19编辑:脚本学堂
本文介绍下,在php编程中实现网站的301重定向的方法,有需要的朋友可以参考下。

本节内容:
在php代码中实现301永久重定向

前段时间,笔者网站更换域名,在做301重定向时,比如PHP网站,简单方法:
 

复制代码 代码示例:
<?
Header( "HTTP/1.1 301 Moved Permanently" );   
Header( "Location: http://www.jb200.com" );
?>

  此代码只适应于网站迁移的情况,即旧站和新站域名不同、根目录也不相同的情况。如果网站属于一个网站绑定2个域名,2个域名的根目录为同一个,那么,就会行成死循环。

  此代码只适应于网站首页的php 301重定向,如果网站已经被收录,或存在大量的非首页外链,要全部定向过来,那就无能为力了。
    更合适的方法是使用.htaccess来定向。

一、建立一个301.inc.php(文件名自取)
 

复制代码 代码示例:
<?php  
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== 'www.jb200.com')//这是我要以前的域名地址
{
  header('HTTP/1.1 301 Moved Permanently');//发出301头部
  header('Location: http://www.jb200.com'.$request_uri);//跳转到我的新域名地址
}
?>

其中if($the_host !== 'www.jb200.com')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,就可以将以前的域名,包括jb200.com、www.jb200.com以及新域名中我jb200.com全部重定向到www.jb200.com。

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

复制代码 代码示例:
<?php include("301.inc.php"); //301重定向 ?>
 

将此代码放到所有网页的最前面。
如此,重定向就做好了,将301文件上传到网站目录即可。

三、网站迁移后的301跳转配置。
只需修改free.jb200.com网站跟目录下的.htaccess文件,在其写入:
 

复制代码 代码示例:
RewriteEngine on
RewriteRule ^(.*)$ http://bolg.jb200.com/$1 [L,R=301]

再做一次php 301重定向,在bolg.jb200.com/photo/目录下写入index.php文件
 

复制代码 代码示例:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://photo.jb200.com/");
exit();
?>
 

这样原本谷歌收录的http://free.jb200.com/photo/ 会自动跳转到http://photo.jb200.com/这个站点。
再把music目录也同样跳转,重定向工作完成。