php对全站的所有内页进行域名301转向

May 6th, 2008

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2008/05/06/phpduiquanzhandesuoyouneiyejinxingyuming301zhuanxiang.html

下面我来教大家怎么使用php做全站的所有内页进行域名转向.以前只有别人在asp上实现。

301转向定义

301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

网站做转向的方法

网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。

301转向的必要性

当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。好处是,

第一,没有网址规范化问题

第二,也很重要的,网页A的PR网页级别会传到网页B

第三,收录不会因为域名更换没有.

实现

<?php
$url="http://www.php-oa.com".$_SERVER["REQUEST_URI"];  
header("HTTP/1.1 301 Moved Permanently");  
header ("Location:$url");  
?>

如图上面的php代码。就可以实现这个功能.那上面的代码要放到什么地方啦。我们以Discuz6.0为例子

index.php
archiver/index.php
forumdisplay.php
viewthread.php
space.php
tag.php
blog.php
找到原来的老的域名中的上列文件,加入上面的代码。更新就好了。

测试

容易吧.要测试就用curl这个小软件来检查.

#curl -I  http://www.bbbb.com/sssss.php

HTTP/1.0 301 Moved Permanently
Date: Tue, 06 May 2008 06:27:39 GMT
Server: apache
Location: http://www.php-oa.com/sssss.php

如见到上面的HTTP/1.0 301 Moved Permanently时,就表示可以了.下次只要点相关的链接,会自动转向新的链接,搜索引擎也会自动更新成新的链接

 

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
Tags: , , ,
  1. zuiyongxin
    Jun 14th, 2008 at 22:33
    Reply | Quote | #1

    朋友,能加我QQ54241290,问点301转向的问题吗?

  2. 扶凯
    Jun 14th, 2008 at 23:46
    Reply | Quote | #2

    加入了

  3. newton
    Jul 28th, 2008 at 05:29
    Reply | Quote | #3

    怎样定向那些静态化的url呢?是discuz论坛的,非常感谢,我的q是:408169472

    顺便说下,你很厉害~期待你的好消息

  4. 我买糕的。
    Sep 22nd, 2009 at 23:17
    Reply | Quote | #4

    友情飘过……这篇文章都被转滥了……

  5. admin
    Sep 23rd, 2009 at 10:25
    Reply | Quote | #5

    基本上我所有的文章都被转滥了…