教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP网站301重定向方法举例

PHP网站301重定向方法举例

发布时间:2017-05-26   编辑:jiaochengji.com
本文介绍下,在php编程中实现网站的301重定向的方法,有需要的朋友可以参考下。

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

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

复制代码 代码示例:
<?
Header( "HTTP/1.1 301 Moved Permanently" );   
Header( "Location: http://www.jbxue.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.jbxue.com')//这是我要以前的域名地址
{
  header('HTTP/1.1 301 Moved Permanently');//发出301头部
  header('Location: http://www.jbxue.com'.$request_uri);//跳转到我的新域名地址
}
?>

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

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

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

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

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

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

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

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

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

您可能感兴趣的文章:
PHP网站301重定向方法举例
php 301重定向的实现方法
php实现301重定向的方法
php 301重定向跳转解决方法
301用法与错误详解
php 301 永久重定向之Apache与IIS
PHP 301跳转的方法详解
apache php 301重定向的实例分析
PHP 301转向实现代码
Php 301重定向代码二例

关键词: PHP 301跳转  重定向   
[关闭]
~ ~