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

php中文网
发布: 2016-07-13 17:54:31
原创
2025人浏览过

[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         $_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("&","="),"/",$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     $_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);
  } 
}

 

极简智能王
极简智能王

极简智能- 智能聊天AI绘画,还可以创作、编写、翻译、写代码等多种功能,满足用户生活和工作的多方面需求

极简智能王 33
查看详情 极简智能王

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,/)); //获取$_...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号