php实现多个域名指向同一网站的301转向
作者:寒川 发布于:2010-6-4 9:18 Friday 分类:网页编程
前不久,一哥们儿在给我博客做SEO的时候建议我做个301转向,因为我的博客为两个域名(huikon.cn及www.huikon.cn)同时访问同一个站点,需要做个主站,其他域名通过301转向到主站,以免搜索引擎分担主站的权重。开始的时候准备通过修改.htaccess实现301转向,不过貌似本博客用的nginx服务器,也没有服务器配置权限,看来只能通过修改php文件实现301转向了。
开始直接在核心文件(如:config.php等配置文件)中添加301转向代码,但是因为两个域名指向的是同一个网站,不论访问那个域名,都出现“死循环”的现象(用IE浏览器一直加载但无法打开页面,用Google浏览器提示转向循环)。要解决死循环还是比较简单的,判断一下访问的主机就ok了,方法如下:
$host='huikon.cn';//主站域名
if($_SERVER['HTTP_HOST']!=$host)
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:'.$host);
}
将上述代码放入核心文件中,虽然能够转向,但是问题又来了,一旦访问非huikon.cn的域名的其他页面结果全部都转到huikon.cn的主页页去了,能否一对一的301转向呢?答案当然是肯定的,php确实够强大,呵呵~~完整的多域名301转向至同一网站代码如下:
<?php
/*
o******************************o
* *
*文件:301.php *
*功能:用于301转向。 *
*版本:0.1 *
*作者:寒川 *
*URL:http://huikon.cn *
* *
o******************************o
*/
function get_file_parameter($auNo='')//获取特定网址后的文件及参数
{
$self_name=$_SERVER['PHP_SELF'];
$url_parameter=$_SERVER["QUERY_STRING"];
$sn="";
if(1==$auNo)
{
$pCut=explode("/",$self_name);
$pCount=substr_count($self_name,"/");
for($i=0; $i<$pCount;$i++)
{
$sn.=$pCut[$i]."/";
}
}
else
{
$sn=$self_name;
}
if(empty($url_parameter))
$url=$sn;
else
$url=$sn."?".$url_parameter;
return $url;
}
$host='huikon.cn';//主站域名
$url='http://'.$host.get_file_parameter();
if($_SERVER['HTTP_HOST']!=$host)
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:'.$url);//转向
}
?>
将上述代码储存为301.php,在核心文件(或需要转向的文件)中通过require_once '301.php';语句将其包含进去,这就可以实现多域名转向至同一站点了。
日志分类
最近日志
随机日志
- 对Googlebot来访时间进行研究
- php读取txt文本文档数据库转入mysql数据库
- 如何让php,asp页面自动运行?
- 慈善,是以捐款少来体现的吗?
- OAuth认证协议原理分析及使用方法(转)
- window下php时间戳不正确问题解决
- 可恶的垃圾留言,我诅咒。。
- 年代,为什么要把我们区分得这么明显?
- 两天整了份简报。。。。
- 也说艳照门事件
- 河蟹的长城宽带
- Linux VS Windows 究竟哪个系统更好之思考
- 输入法设置的时候提示"检测到不兼容的键盘驱动程序,该对话框已被停用?" 解决方法
- php中定义变量
- QQ.exe - 无法找到组件:没有找到ComRes.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。
最新评论
- 美图看看
哎 找些药酒擦擦 - 土
我今年都25了······ - 南宁搬家公司
越听越有感觉 - 南宁搬家公司
说实在的我学计算机的excel还没学会 - 草民
我也是学php的不过现在什么也不会了 - 南宁搬家公司
最是无情了 - 南宁搬家公司
我们都已不再年轻了 - 阿芙精油
我正遇到这个问题,以前的都是从数据库读取 - 宜春人才网
情人节过去好久了。。 - 杏林男科
一不小心三八节都过了哈哈
日志档案
- 2012年4月(1)
- 2012年2月(2)
- 2011年11月(2)
- 2011年9月(1)
- 2011年8月(2)
- 2011年7月(2)
- 2011年5月(1)
- 2011年3月(3)
- 2011年2月(2)
- 2010年12月(1)
- 2010年11月(2)
- 2010年10月(3)
- 2010年9月(9)
- 2010年8月(8)
- 2010年7月(13)
- 2010年6月(18)
- 2010年5月(24)
- 2010年4月(10)
- 2010年3月(14)
- 2010年2月(6)
- 2010年1月(7)
- 2009年11月(2)
- 2009年10月(3)
- 2009年9月(3)
- 2009年8月(8)
- 2009年7月(15)
- 2009年6月(14)
- 2009年4月(2)
- 2008年12月(1)
- 2008年6月(1)
- 2008年5月(10)
- 2008年4月(9)
- 2008年3月(5)
- 2008年2月(2)
- 2008年1月(5)
- 2007年12月(4)
- 2006年9月(6)
- 2006年7月(1)


