16

重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网址完全继承旧网址,旧网址的排名等完全清零;实施302后,对旧网址没有影响,但新网址不会有排名。
  
  301 Redirect 永久重定向的实现
  
  在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
  
  常用的重定向方式有: 301 redirect、302 redirect 与 meta fresh:
  
  301 redirect——301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
  
  302 redirect——302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
  
  meta fresh——这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

PHP实现301重定向:
我原来的用的是Win主机,域名为<a href=”http://blog.woodfeed.com”>http://blog.woodfeed.com</a>,用404实现的伪静态链接,所以真是域名为<a href=”http://blog.woodfeed.com/404;http://blog.woodfeed.com:80/****/***.html”>http://blog.woodfeed.com/404;http://blog.woodfeed.com:80/****/***.html</a>样式的。现在要更改为:<a href=”http://woodfeed.com/XXXXX”>http://woodfeed.com/XXXXX</a>,即直接加文章名的样式。
具体显示如下:

<!--p
header( "HTTP/1.1 301 Moved Permanently" ) ;
$string1 = $_SERVER['QUERY_STRING']; //取出域名http://blog.woodfeed.com后面的字符串
$string2 = ereg_replace("404;http://blog.woodfeed.com:80/","",$string1); // 将其中的404内容部分删除
$string = ereg_replace(".html","",$string2); //去除后面的 .html
header("Location: http://woodfeed.com/".$string);
exit(); //终止掉程序的运行
-->

将以上代码加到打开网页时最先执行的php文件中,比如WordPress中当前使用主题的header.php

相关文章

Category : WordPress

10 Responses to “简单PHP代码实现301地址重定向”


华晨 16/10/2009

这样做百度上的旧网址会一直在那

Notify
vayu 17/10/2009

;-) 呵呵,那要怎么做才能把旧网址替换掉?@华晨

Notify
zhiwei 24/10/2009

学习了。。。。

Notify
zhiwei 24/10/2009

301 重定向,学习了。。。。

Notify
华晨 25/10/2009

@vayu
好像没有办法,但是应该没有关系。可以不用考虑。

Notify
国产手机 26/10/2009

301转向用的最为普遍!

Notify
美女 29/10/2009

学习了,谢谢!

Notify
cds 30/10/2009

我试试你的办法看看!

Notify
李宁 09/11/2009

我还问下,php文件实现跳转,带参数

Notify

我也不知道也

Notify