查看: 4022|回复: 1

同一个空间下两个域名实现301重定向的方法

[复制链接]
outman 发表于 2010-5-31 15:19:26 | 显示全部楼层 |阅读模式
  关于301重定向的好处,和一般301重定向的方法,网上有很多,笔者就不重复了,今天要说的,是PHP网站通过修改PHP网页的形式做好301重定向。

   这段时间小站更换域名,从www.zigbeetech.com更换至www.feibit.com,但空间不变,也只有一个网站。在做301重定向时,搜索了网上很多帖子,发现很多都罗列了各种方法,却都没有具体将怎么操作,比如PHP网站,就是写出下面一段代码了事

PHP代码
<? Header( "HTTP/1.1 301 Moved Permanently" );   
Header( "Location: http://www.feibit.com" );?>

  这个代码只适应于网站迁移的情况,即旧站和新站域名不同、根目录也不相同的情况。如果网站属于一个网站绑定2个域名,2个域名的根目录为同一个,那么,就会行成死循环。在此,笔者将PHP网站301重定向方法完全放出,希望能帮到新人,如果有不足之处,也请高手指出,不胜感激。

  本代码已经实现了原来百度和google收录的www.zigbeetech.com域名下的所有页面均可成功转跳至www.feibit.com。但搜索引擎对两个域名的PR值的转换,正在观察中,如有问题,希望高手能不吝赐教。

一、建立一个301.inc.php(文件名自取)
<?php   
$the_host = $_SERVER['HTTP_HOST'];//取得输入的域名的前面部分,如www.zigbeetech.com
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== 'www.feibit.com')//判断前面部分是否相同
{
  header('HTTP/1.1 301 Moved Permanently');//301永久重定向
  header('Location: http://www.feibit.com'.$request_uri);//跳转到我的新域名地址
}
?>

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


二、在网页文件中调用301.inc.php
<?php include("301.inc.php"); //301重定向 ?>
将这个代码放到你所有网页的最前面。

在discuz 7.2的目录结构中,可以将301.inc.php文件上传至./include目录,并在common.inc.php文件中,搜索define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
在下面增加:
require_once DISCUZ_ROOT.'./include/301.inc.php';

好了,上传这两个文件至相应目录,google里site:www.zigbeetech.com出来的链接直接转到新网站啦

但网站权重转换的效果,后面会跟踪记录。。。

(注:本文方法为http://www.love07.com/提供的方法进行修改所得)
 楼主| outman 发表于 2010-5-31 15:29:31 | 显示全部楼层
百度、Google收录情况统计:
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表