scribble

守望的麦子

About Projects Tool Guestbook

22 Apr 2009
我来告诉你PHP究竟怎么实现301定向

做了新站http://crazyenglish.info,涉及到域名更换,域名指向等问题,所以需要301定向,关于301定向的好处就不用说了,方法网上也罗列了很多,都可以很好的实现跳转功能,我最喜欢的还是使用PHP网页代码的方式。

但是参考网上关于301定向的方法时发现,关于PHP的301定向方法网络上并没有详细的教程说明,有的也只是简单的给出这样一段代码:

<?

Header( “HTTP/1.1 301 Moved Permanently” );   
Header( “Location: http://cn.crazyenglish.info” );?></p></blockquote>

这个代码只适应于网站迁移的情况,即旧站和新站域名不同、根目录也不相同的情况。如果网站属于一个网站绑定2个域名,2个域名的根目录为同一个,那么,就会形成死循环。其实将这段代码添加一个简单的调用取得域名地址的命令语句,这段代码还是大有用途的。

首先,建立一个301定向文件301.php(文件名随便)


$url="http://crazyenglish.info".$_SERVER["REQUEST_URI"]; //取得域名地址
header("HTTP/1.1 301 Moved Permanently"); //发出301定向命令请求
header ("Location:http://cn.crazyenglish.info"); //转向新域名地址
?>

<p>
  然后在网页中调用301定向文件,将下面的代码放到网站根目录中的首页文件index.php中:
</p>

<blockquote>
  <p>
    <span style="COLOR: #008080"><?php</span> 
    
    <span style="FONT-WEIGHT: bold; COLOR: #000080">include</span>(<span style="COLOR: #0000ff">"301.php"</span>); <span style="COLOR: #008800; FONT-STYLE: italic">//301定向文件调用 ?></span></p></blockquote> 
    
    <p>
      然后将301.php和更改后的index.php文件上传到网站根目录。
    </p>
    
    <p>
      测试一下吧!Enjoy!
    </p>
    
    <p>
      附:这个代码用于网站子域名的301定向是很好用的,如果网站已经被收录,或存在大量的非首页外链,要全部定向过来,建议还是不要使用这个方法了。更合适的方法是使用.htaccess来定向,简单快捷。
    </p>

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook