ThinkPHP框架对URL有一定的规范,所以如果你希望定制你的URL格式的话,就需要好好了解下内置的路由功能了,它能让你的URL变得更简洁和有文化。
首先我们在Common/config.php设置为2,即rewrite模式
接着我们在页面上加一个导航链接,首页跳转到index.html,注册到reg.html,登录到login.html。加上路由的链接,就不需要U方法了哦。
<h3>
<a href="index.html">首页</a>
<a href="login.html" class="cur">登录</a>
<a href="reg.html">注册</a>
</h3>
接着我们看下路由规则和静态缓存规则
return array(
'URL_ROUTER_ON' => true,//开启路由
'URL_ROUTE_RULES' => array(
'/^reg/' => 'Index/reg',
'/^login/' => 'Index/login',
'/^index/' => 'Index/index',
), 'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 3600, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.html', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array(// 定义静态缓存规则
// 定义格式1 数组方式
'index:' => array('Index/{:action}'),//控制器,方法
),
);
提示:被缓存的文件在Application\Html\Index下面,分别为index.html,login.html和reg.html。
最后发下素材火的路由和静态缓存规则,仅供参考。
'URL_ROUTER_ON' => true,
'URL_ROUTE_RULES' => array(
'templates/:id\d' => 'Templates/detail',
'templates/:paras' => 'Templates/index',
'js/:id\d' => 'Js/detail',
'js/:paras' => 'Js/index',
'php/:id\d' => 'Php/detail',
'php/:paras' => 'Php/index',
'source/:id\d' => 'Source/detail',
'source/:paras' => 'Source/index',
'site/:id\d' => 'Site/detail',
'site/:paras' => 'Site/index',
'search' => 'Search/templates',
'forget' => 'Pwd/find',
'sendtip' => 'Pwd/send_tip',
'help/template_post' => 'Help/template_post',
'help/:paras' => 'Help/index',
'space/uid/:id\d' => 'Space/index',
'psd/:id\d' => 'Psd/detail',
'psd/:paras' => 'Psd/index',
'answer/:id\d' => 'Answer/detail',
'answer/:paras' => 'Answer/index',
),
'HTML_CACHE_TIME' => 10000, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.html', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array(// 定义静态缓存规则
'templates:' => array('Templates/{$_GET.id}_{$_GET.paras}'),
'js:' => array('Js/{$_GET.id}_{$_GET.paras}'),
'php:' => array('Php/{$_GET.id}_{$_GET.paras}'),
'site:' => array('Site/{$_GET.id}_{$_GET.paras}'),
'psd:' => array('Psd/{$_GET.id}_{$_GET.paras}'),
'answer:' => array('Answer/{$_GET.id}_{$_GET.paras}'),
'search:' => array('Search/{$_GET.keyword}'),
'help:' => array('Help/{$_GET.paras}'),
'login:' => array('Login/index'),
'reg:' => array('Reg/index'),
'index' => array('Index/index')
)

Thinkphp路由配置和静态缓存规则【原创】的更多相关文章

  1. Flutter实战视频-移动电商-39.路由_Fluro的路由配置和静态化

    39.路由_Fluro的路由配置和静态化 handler只是单个路由的配置,这节课我们要学习路由的整体配置 整体配置 新建routers.dart文件来做整体配置 detailsHandler就是我们 ...

  2. thinkphp路由配置route.php

    路由设置配置 打开route.php  引入Route控制器类(use think\Route;) 设置路由-->  Route::rule('路由表达式','路由地址','请求类型','路由参 ...

  3. Flutter移动电商实战 --(39)路由_Fluro的路由配置和静态化

    handler只是单个路由的配置,这节课我们要学习路由的整体配置 整体配置 新建routers.dart文件来做整体配置 detailsHandler就是我们在router_handler里面定义的d ...

  4. thinkphp3.2开启静态缓存与缓存规则设置

    网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存   首先设置 H ...

  5. thinkphp 静态缓存

    要使用静态缓存功能,需要开启HTML_CACHE_ON参数,并且使用HTML_CACHE_RULES配置参数设置静态缓存规则文件 . 大理石构件厂家 虽然也可以在应用配置文件中定义静态缓存规则,但是建 ...

  6. thinkphp的静态缓存,数据缓存,快速缓存,查询缓存

    // 静态缓存 // 'HTML_PATH' 缓存目录,这是个常量不是配置项,在入口文件中定义 // 'HTML_CACHE_ON'     =>    true, // 开启静态缓存 'HTM ...

  7. Linux下路由配置梳理

    在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:---------------------------------------------------------- ...

  8. linux 下路由配置

    转自 https://www.cnblogs.com/kevingrace/p/6490627.html 在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:----- ...

  9. thinkphp3.2----设置静态缓存

    开启静态缓存后,页面刷新时获取的是静态页面,控制器增加输出内容时页面还是一样,除非超过缓存时间或html结构发生变化才重新生成页面缓存 1.定义静态缓存目录 define("HTML_PAT ...

随机推荐

  1. 通过Nginx反向代理之后客户端验证码session不一致造成无法验证通过的问题解决

    location / { proxy_pass http://127.0.0.1:9080/app/; proxy_cookie_path /app/ /; proxy_cookie_path /ap ...

  2. glog日志库使用笔记

    日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活. 在Github上下载glog,解压 ...

  3. Java数据结构之LinkedList、ArrayList的效率分析

    前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实 ...

  4. 【iOS】ARC-MRC下的单例及其应用

    单例的应用十分普遍,单例模式使一个类仅仅有一个实例. *易于供外界訪问. *方便控制实例个数,节约系统资源. *OC中的常见单例: 如:UIApplication,  NSNotificationCe ...

  5. 微信小程序 this.setData is not a function

    在一般的函数中: bindFaChange1: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData ...

  6. 记一次spring boot参数初始化的问题

    背景:接手一个项目,看到一个配置参数的引用: @Value("${webSocket.id}") 再看看配置application.yml: ... webSocket: id: ...

  7. [U3D Demo] 手机飞机大战

    游戏截图 使用插件 DOTween NGUI 游戏介绍 游戏使用C#开发,素材是<全民飞机大战>中提取出来的,该游戏最早是去年由Flash Air+Starling开发的Demo,后来我修 ...

  8. XSS跨站脚本小结(转)

    原文链接:http://www.cnblogs.com/xiaozi/p/5588099.html#undefined XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的 ...

  9. 解决Eclipse中“诡异”的错误:找不到或无法加载主类

    记录下来遇到的(问题,解决方法),是更有效的解决问题的方式.(原谅我领悟的太晚与懒,从此用更有意义的方法,做一个更有意义的人) 因为遇到了多次,参考同一个方法,原文连接:https://blog.cs ...

  10. webpack的配置文件

    1.路径 __dirname是一个全局变量,在项目html和js中没有单独定义,直接写就可以得到项目的根目录的路径 module.exports={ // __dirname是nodejs里的一个全局 ...