php静态函数:使用php函数实现url静态化



    我们都是动态,也想实现url优化,但是我没有服务器权限,如何办? 很简单,我们可以从$_SERVER[”REQUEST_URI”]和$_SERVER[’PATH_INFO’]来下手:

原网站WebSite访问地址是 http://www.phpweblog.net/test.php?a=1&b=2&c=3
使用了 mode_rewrite 后,就可以用 http://www.phpweblog.net/test.php/a/1/b/2/c/3来访问了,而且基本不用修改.

 function  mod_rewrite{
          ( is ( $_SERVER [ ’ PATH_INFO ’ ])){
                 $url   =   substr ( $_SERVER [ ’ PATH_INFO ’ ] , 1 );
                 $url   =   explode ( ’ / ’ , $url );
                 foreach  ( $url   as   $key   => $value ){
                          ( $key % 2 != 1 ){
                                  ( $value != ’’ ) $_GET [ $value ] = $url [ $key + 1 ];
                                 $query  = $value . ’ = ’ . $url [ $key + 1 ];
                        }
                }
                 $_SERVER [ ’ QUERY_STRING ’ ] = implode ( \" & \" , $query ); [Page]
                 $_SERVER [ ’ PHP_SELF ’ ] = substr ( $_SERVER [ ’ PHP_SELF ’ ]

 , 0 , strpos ( $_SERVER [ ’ PHP_SELF ’ ] , ’ .php ’ ) + 4 );
                 $_SERVER [ ’ REQUEST_URI ’ ] = $_SERVER [ ’ PHP_SELF ’ ] 

. ’ ? ’ . $_SERVER [ ’ QUERY_STRING ’ ];
        }
}

mod_rewrite;

http : // www.phpweblog.net/test.php/a/1/b/2/c/3 
 echo   ’ <pre> ’ ;
 echo   \" GET如下:<br /> \" ;
 pr_r ( $_GET );
 Array 
(
    [a]  =>   1 
    [b]  =>   2 
    [c]  =>   3 
)

  

Tags:  静态成员函数 静态构造函数 静态函数 php静态函数

延伸阅读

最新评论

发表评论