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); }}