• 技术文章 >后端开发 >php教程

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

    2016-07-13 17:54:31原创1183

    [php]
    if(isset($_SERVER['PATH_INFO'])){
    $str=substr($_SERVER['PATH_INFO'],0,strpos($_SERVER['PATH_INFO'],'.'));
    //获取路径信息(pathinfo)
    $pathinfo=explode('/',trim($str,'/'));
    //获取$_GET['m']
    $_GET['m']=(!emptyempty($pathinfo[0])?$pathinfo[0]:'index');
    //将数组单元的开头移除
    array_shift($pathinfo);
    //获取$_GET['a]
    $_GET['a']=(!emptyempty($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']=(!emptyempty($_GET['m'])?$_GET['m']:'index');
    $_GET['a']=(!emptyempty($_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("&","="),"//m.sbmmt.com/m/",$query).".html"; //重点在这
    header("Location:".$url);
    }
    }

    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("&","="),"//m.sbmmt.com/m/",$query).".html"; //重点在这
    header("Location:".$url);
    }
    }

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477962.htmlTechArticle[php] if(isset($_SERVER[PATH_INFO])){ $str=substr($_SERVER[PATH_INFO],0,strpos($_SERVER[PATH_INFO],.)); //获取路径信息(pathinfo) $pathinfo=explode(/,trim($str,/)); //获取$_...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 简单 路由 解析 可以 随意 设置 后缀 html shtml aspx 等等 php isset SERV
    上一篇:php实现页面跳转的几种方法_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊ChatGPT是啥?PHP怎么使用ChatGPT?• 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题
    1/1

    PHP中文网