thinkphp3.2.3中设置路由,优化url

thinkphp3.2.3中设置路由,优化url

需求: 访问这个目录的时候,http://xx.com/p-412313要重定向到(暂且这么叫)http://xx.com/Home/Blog/index/id/412313

 

就是看着好看

我的应用目录是Application。模块是Home

第一步:知道哪个文件怎么处理的路由
路由处理在think/Route.class.php

  1. // 动态路由处理  
  2.         $routes =   C(‘URL_ROUTE_RULES’);  
  3.         // var_dump($routes);  
  4.   
  5.         if(!empty($routes)) {  
  6.             // dump($routes);  
  7.             //array(1) {  
  8.                 // [“/^p-(\d+)$/”] => string(16) “Blog/index?id=:1”  
  9.             //}  
  10.             // echo “rount.class.php\n”;  
  11.             foreach ($routes as $rule=>$route){  
  12.                 if(is_numeric($rule)){  
  13.                     // 支持 array(‘rule’,’adddress’,…) 定义路由  
  14.                     $rule   =   array_shift($route);  
  15.                 }  
  16.      …代码多,仅标识位置  

第二步:在项目模块的配置文件下,设置配置文件 如下(因为tp是逐级加载配置文件,惯例配置->应用配置->模式配

置->调试配置->状态配置->模块配置->扩展配置->动态配置,这里属于模块配置

  1. <?php  
  2. return array(  
  3.   
  4.   
  5.     ‘MODULE_ALLOW_LIST’ => array(‘Home’,‘Admin’,‘Common’),  
  6.      ‘DEFAULT_MODULE’       =>    ‘Home’,  // 默认模块  
  7.      ‘DEFAULT_CONTROLLER’    =>  ‘Index’, // 默认控制器名称  
  8.      ‘DEFAULT_ACTION’        =>  ‘index’, // 默认操作名称  
  9.          //    路由规则  
  10.     ‘URL_ROUTER_ON’ => TRUE,  
  11.     ‘URL_ROUTE_RULES’ => array(  
  12.         ‘/^c-(\d+)$/’ => ‘Index/content?id=:1’  
  13.     ),  
  14.      ‘URL_ROUTER_ON ‘=>true,  
  15.      ‘URL_MODEL’          => ‘1’,  
  16.   
  17.      ‘URL_ROUTE_RULES’=>array(     
  18.        ‘/^p-(\d+)$/’ => ‘Home/Blog/index?id=:1’,//意思是访问x.com/p-34 会访问的是x.com/Blog/index/id/34  
  19.   
  20.          ),  
  21. );  

第三部:
如果你没有设置默认的模块 ,会出现找不到p-34这个模块的错误。
那么需要在index.php中设置
define(‘BIND_MODULE’,’Home’);

这样就可以了。

说明:如果没有第三步。默认打开是正常的就是这样。

thinkphp3.2.3中设置路由,优化url

但是

thinkphp3.2.3中设置路由,优化url

 

所以我们操作第三步,就可以实现如下效果了:

thinkphp3.2.3中设置路由,优化url

 

thinkphp3.2.3中设置路由,优化url

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113178.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql 字符串转数字类型

    Mysql 字符串转数字类型MySQL字符串的‘123’转换为数字的123方法一:SELECTCAST(‘123’ASSIGNED);方法二:SELECTCONVERT(‘123’,SIGNED);方法三:SELECT’123’+0;参考:https://www.cnblogs.com/emanlee/p/5998683.html…

    2022年5月7日
    35
  • Ajax技术的优缺点[通俗易懂]

    Ajax技术的优缺点[通俗易懂]1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识)什么是ajax:AJAX是“AsynchronousJavaScriptandXML”的缩写。他是指一种创建交互式网页应用的网页开发技术。Ajax包含下列技术:基于web标准(standards-basedpresentation)XHTML+CSS的表示;使用DOM(Docu

    2025年6月1日
    2
  • 有关软件设计师的报名问题及答案_软件设计师软考

    有关软件设计师的报名问题及答案_软件设计师软考下面是青岛人才市场的联系地址和电话 青岛市中高级人才市场海尔路178号889166728891667088916679 中国青岛人才大市场山东路171号856329738564389885636580 贵州路人才市场贵州路69号一楼咨询:82685619 城阳人才市场(人才交流中心)城阳正阳路222号87868756 胶南市人才交流服务中心新华路8

    2025年9月23日
    7
  • Java课程设计—中国象棋(源代码及视频)「建议收藏」

    谢谢大家的支持,您的一键三连是罡罡同学前进的最大动力!一键三连一键三连一键三连一键三连一键三连一键三连传送地址数据结构课程设计——校园导游系统(C语言):B站视频:https://www.bilibili.com/video/BV1ui4y137X9CSDN源码:https://blog.csdn.net/m0_46625346/article/details/107149473Java课程设计——中国象棋B站视频:https://www.bilibili

    2022年4月8日
    52
  • Hibernate初级入门

    Hibernate初级入门

    2021年7月10日
    86
  • IntelliJ IDEA报错:Error:(1, 1) java: 非法字符: ‘\ufeff'[通俗易懂]

    IntelliJ IDEA报错:Error:(1, 1) java: 非法字符: ‘\ufeff'[通俗易懂]当我把Eclipse中的类拷贝到idea项目中,就出现了这个错误。查找资料得知:Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,但使用IDEA编译UTF-8+BOM编码的文件时会出现这个错误:Error:(1, 1) java: 非法字符: ‘\ufeff’。关于UTF-8+BOM 参考 https://www.zhihu.com/question/20167122/an…

    2022年6月13日
    114

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号