Sitemap Rss
·您当前位置:网站首页 >> PHP学习 >> 阅读文章

301重定向PHP代码 PHP的301自动跳转代码

来源:逍遥峡谷 发布时间:2011-04-12 浏览24条评论
内容简介

有时候我们的有多个域名指向同一个网站,或者我们更换了网站的网址,那么怎么样将原来网站的流量导入到新网址中呢,那么我们可以用301重定向的方式,而且这种方式是对搜索引擎比较友好的方式。如果首页是PHP做的,可以使用PHP的301重定向的代码……

相关关键词:PHP   301   跳转   重定向  

本文链接:http://www.icoa.cn/a/475.html [复制网址]

以前介绍过301重定向ASP代码,也就是ASP程序可以用代码来实现网址的301跳转,如果我们使用的PHP程序,那么同样可以用一段代码来实现网址的301重定向

如果仅仅是对某个页面进行301跳转,其实很简单,只要在PHP页面的头部输入下面的代码就可以。

<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.icoa.cn");
?>


这个对于更换了网址或者网站结构来说非常方便,但是如果针对很多页面那么这种跳转方式就不友好了,我们应该根据不同的页面跳转的不同的网址。

这个还可以实现比如icoa.cn跳转到www.icoa.cn上,也就是让所有的页面都用带www的网址。

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

<?php 
$the_host = $_SERVER['HTTP_HOST'];//取得当前域名
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
$the_url = strtolower($the_url);//将英文字母转成小写
if($the_url=="/index.php")//判断是不是首页
{
$the_url="/";//如果是首页,赋值为“/”
}
if($the_host !== 'www.icoa.cn')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部 
header('Location:http://www.icoa.cn'.$the_url);//跳转到带www的网址
}
?>


其中if($the_host !== 'www.icoa.cn')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将icoa.cn跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.icoa.cn

因为有朋友留言说首页跳转之后网址里会出现/index.php,于是增加了一个判断是否是首页的语句。

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

<?php include("301.php"); //301重定向 ?>


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

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

本文链接:http://www.icoa.cn/a/475.html
关键词: PHP   301   跳转   重定向  
上一篇:用PHP的fopen函数读写robots.txt文件
下一篇:初学PHP之根据服务器日期和时间判断网址跳转
相关文章
·几个简单的基本的sql语句并详解 2010-11-12 16:19:43
·PHP中如何去掉字符串首尾空格 2013-12-12 14:42:50
·php使用strlen()判断字符串长度 2013-12-12 14:17:47
·MySQL命令行导入导出数据库 2013-10-20 14:16:23
·PHP用substr函数截取字符串中的某部分 2012-12-27 16:27:23
·mysql新建用户与远程访问 zt 2010-10-18 11:43:21
·#2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正 2010-10-15 11:01:35
·用PHP读写文本文档制作最简单的访问计数器 2010-10-13 09:33:22
文章评论
天天<2016-10-08 13:34:54>评论说:
按照说的做了,但是没有任何效果!
管理员回复: 跟你的网站程序有关,以及你的具体操作步骤也有关系。

小鱼儿<2016-08-27 10:29:30>评论说:
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.icoa.cn";);
?>
输入这个代码跳转以后出现一下页面怎么解决:

You don't have permission to access / on this server.
管理员回复: 已经通过微信帮这位朋友解决了,有几个需要注意的,当然如果你能完整的看完这篇文章,并且看懂了,那么基本上不会出现这种情况。

这位朋友之所以出现这种情况,新域名没有绑定网站……

也就是新域名直接输入也是打不开的,跟跳转无关。另外这个朋友后来又出现了一个错误,就是把新旧域名解析到同一个目录,而采用的还是这个代码,最终造成死循环了,当然就打不开了。

所以还是好好看文章吧,如果理解了,就不会出现问题了。

不错<2016-06-02 11:36:45>评论说:
不错

亦云菌<2016-04-08 23:21:18>评论说:
我发现这样做虽然www.a.com跳转到了www.b.com
www.a.com/1.html也跳转到了www.b.com/1.html
但是www.a.com/会跳转到www.b.com百度网站改版会不通过
管理员回复: 带不带/是没有区别的,Chrome浏览器默认是不带/的,IE浏览器是默认带/的。

这样你试试把这句修改一下:
$the_url="";//如果是首页,赋值为空

修改为:
$the_url="/";//如果是首页,赋值为“/”

天山童姥<2016-01-25 17:47:09>评论说:
除了可以将icoa.cn跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转到www.icoa.cn。
请问如果我要将另外两个别的域名都跳转到www.icoa.cn这个域名,我要怎么写这句呢?if($the_host == 'test.baidu.com')//
管理员回复: 没错,把需要跳转的域名写到==后面

共有24条评论(点击查看)



3713

逍遥峡谷 逍遥乱弹 张立博 飓风团队 爱之路 酷品优选 宝贝派 张子涵


版权所有©逍遥峡谷 Copyright©Canyon of Airily 冀ICP备06033848号