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

摘要:
Id=:1“//}//echo”路由。班php n“;foreach{如果{//支持数组定义路由$rule=array_shift;}步骤2:在项目模块的配置文件下,设置配置文件如下(因为tp正在逐级加载配置文件,常规配置-˃应用程序配置-˃模式配置-˃调试配置-˃状态配置-˃模块配置-˃扩展配置-˃动态配置,属于模块配置[php]viewplaincopy数组('Home','Admin','Common'),'DEFAULT_MODULE'=˃'Home],//默认模块'DEFAURT_CONTROLLER'=˃'索引',//默认控制器名称为'DEFALUT_ACTION'=˃“索引”,//默认操作名称//路由规则'URL_ROUTER_ON'=˃TRUE,'URL_ROUTE_RULES'=˃阵列('/^c-(\d+)$/'=˃索引/内容?Id=:1',//这意味着当您访问x.com/p-34时,您将访问x com/Blog/index/Id/34),);第3部分:如果不设置默认模块,将无法找到p-34模块。然后需要在索引中设置define。php;没关系

需求:访问这个目录的时候,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. if(!empty($routes)){
  5. //dump($routes);
  6. //array(1){
  7. //["/^p-(\d+)$/"]=>string(16)"Blog/index?id=:1"
  8. //}
  9. //echo"rount.class.php\n";
  10. foreach($routesas$rule=>$route){
  11. if(is_numeric($rule)){
  12. //支持array('rule','adddress',...)定义路由
  13. $rule=array_shift($route);
  14. }
  15. ...代码多,仅标识位置

第二步:在项目模块的配置文件下,设置配置文件 如下(因为tp是逐级加载配置文件,惯例配置->应用配置->模式配
置->调试配置->状态配置->模块配置->扩展配置->动态配置,这里属于模块配置

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

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

这样就可以了。

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

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

但是

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

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

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

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

免责声明:文章转载自《thinkphp3.2.3中设置路由,优化url》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win8(x64)下,重新安装delphi 2007时出现“Invalid Serial Number”,如何解决?Go -- pprof协程监控下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

openwrt-智能路由器hack技术(1)---"DNS劫持"

openwrt-智能路由器hack技术(1)---"DNS劫持" 1导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。 本文提到的两个基于网络的hack技术: DNS劫持 数据抓包 基本本质上就是路由器设备的...

Vue-Router基础知识点总结【vue系列】

Vue-Router 认识路由 1.什么是路由 2.后端路由阶段 3.前端路由阶段 前端路由的规则 1.URL的hash 2.HTML5的history模式 Vue-Router基础 1.认识vue-router 2.安装与使用vue-router 3.路由组件详解 路由配置其他补充 1.路由的默认路径 2.路径的History模式...

Springcloud之Zuul网关入门

Spring Cloud实现微服务的架构基本成型:   使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载。   为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延。 Zuul是Netflix...

Rabbitmq的死信

一、概述 死信有死信队列、死信交换器和死信消息组成。死信消息则有如下三种情况生成: 1.消费者使用basic.reject或 basic.nack并将requeue参数设置为false来拒绝该消息 2.消息设置了TTL过期时间,过期时间内没有消费导致过期 3.消息因超过队列长度导致被丢弃 如果队列删除或者队列的TTL过期时间到了被删除其中的消息是不会成为死...

无线路由器无缝漫游

  一.背景:公司A办公网络需要实现无线网络覆盖。现有3台TP-LINK SOHO级无线路由器。分别为1台WR845N和2台WR340G 二.需求:需要对整个办公区域进行覆盖。而且要实现区域间的无缝切换。 三.实施:将三个无线路由器SSID、加密方式、密钥设置成相同的。实现无缝漫游。 具体步骤: 1.查看频段使用率 先使用WirelessMon查看办公区域...

koa 搭建模块化路由/层级路由

搭建node项目目录以及基本的文件 初始化package.json文件 执行下面命令生成package.json文件 npm init --yes 创建项目目录 创建路由目录routes,存放静态资源目录public,视图目录views 安装项目所需的依赖 "dependencies": { "art-template": "^4.12.2",...