PHP模拟实现url rewrite

我的博客使用的是虚拟主机,也想实现url优化,但是我没有服务器权限,怎么办?
很简单,我们可以从$_SERVER[”REQUEST_URI”]和$_SERVER['PATH_INFO']来下手:

原网站访问地址是 http://kuyuecs.cnblogs.com/test.php?a=1&ampb=2&c=3
使用了 mode_rewrite 函数后,就可以用 http://kuyuecs.cnblogs.com/test.php/a/1/b/2/c/3来访问了,而且程序基本不用修改.
<?php
function mod_rewrite()
{
 if (isset($_SERVER ['PATH_INFO']))
 {
  $url=substr($_SERVER ['PATH_INFO'],1);
  $url=explode('/', $url );
  foreach ($url as $key=>$value )
  {
   if($key%2!=1)
   {
    if($value!='')
    {
     $_GET[$value]=$url[$key+1];
     $querystring[]=$value.'='.$url[$key+1];
    }
            }
  }
  $_SERVER['QUERY_STRING']=implode("&",$querystring );
  $_SERVER['PHP_SELF']=substr($_SERVER['PHP_SELF'] ,0,strpos($_SERVER['PHP_SELF'],'.php')+4);
  $_SERVER['REQUEST_URI']=$_SERVER['PHP_SELF'].'?'.$_SERVER ['QUERY_STRING'];
 }
}
?>
posted @ 2008-12-23 14:54  酷越  阅读(521)  评论(0编辑  收藏  举报