php 简单的路由解析 可以随意设置后缀(html,do,shtml,aspx等等)

来源:互联网 发布:百度软件发布平台 编辑:程序博客网 时间:2024/05/10 10:10
if(isset($_SERVER['PATH_INFO'])){  $str=substr($_SERVER['PATH_INFO'],0,strpos($_SERVER['PATH_INFO'],'.'));  //获取路径信息(pathinfo)  $pathinfo=explode('/',trim($str,'/'));  //获取$_GET['m']  $_GET['m']=(!empty($pathinfo[0])?$pathinfo[0]:'index');  //将数组单元的开头移除  array_shift($pathinfo);  //获取$_GET['a]  $_GET['a']=(!empty($pathinfo[0])?$pathinfo[0]:'index');   //将数组单元的开头移除  array_shift($pathinfo);  $num=count($pathinfo);  for ($i=0;$i<$num;$i+=2){  $_GET[$pathinfo[$i]]=$pathinfo[$i+1];  }}else{  $_GET['m']=(!empty($_GET['m'])?$_GET['m']:'index');  $_GET['a']=(!empty($_GET['a'])?$_GET['a']:'index'); if($_SERVER["QUERY_STRING"]){ $m=$_GET['m']; unset($_GET['m']);   //去除数组的m $a=$_GET['a']; unset($_GET['a']);   //去除数组的a  $query=http_build_query($_GET);  //组成新的URL参数 //组合新的URL $url=$_SERVER['SCRIPT_NAME']."/{$m}/{$a}/".str_replace(array("&","="),"/",$query).".html";   //重点在这 header("Location:".$url); }}