thinkphp的URL路由规则与配置实例


Posted in PHP onNovember 26, 2014

本文实例讲述了thinkphp的URL路由规则与配置方法。分享给大家供大家参考。具体分析如下:

一、URL规则

1、默认是区分大小写的

2、如果我们不想区分大小写可以改配置文件

'URL_CASE_INSENSITIVE'=>true,//url不区分大小写

3、如果模块名为 UserGroupAction,那么url找模块就必要要写成
http://localhost/thinkphp4/index.php/user_group/index

4、如果'URL_CASE_INSENSITIVE'=>false,那么url也可以写为

http://localhost/thinkphp4/index.php/UserGroup/index

二、URL伪静态

'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀

三、URL路由

1、启动路由

要在配置文件中开启路由支持

'URL_ROUTER_ON'=>ture//开启路由

2、使用路由

1.规则表达式配置路由

'URL_ROUTE_RULES'=>array()//路由规则  

    'my'=>'Index/index',//静态地址路由  

    'my'=>'/Index/index',//静态地址路由,加/直接跳到网站根目录下。  

    ':id/:num'=>'Index/index',//动态地址路由,可以$_GET接收地址栏参数  

    'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由  

    'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由加上 \d代表类型只能是数字  

    'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了

2.正则表达式配置路由,必须以/开始   /结束
'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'//这里\d表示必须是数字

3、注意事项:

1.越复杂的路由越往前面放

'URL_ROUTE_RULES'=>array( 

 'my/:year/:month:/:day'=>'Index/day',  

 'my/:id\d'=>'Index/index',  

 'my/:name'=>'Index/index',  

)

2.可以使用$作为完全匹配的路由规则
'URL_ROUTE_RULES'=>array(  

 'my/:id\d$'=>'Index/index',  

 'my/:name$'=>'Index/index',  

 'my/:year/:month:/:day$'=>'Index/day',  

),

3.用正则匹配的方式,以/^开始,以$/结束
'URL_ROUTE_RULES'=>array(  

 '/^my\/(\d+)$/'=>'Index/index?id=:1',  

 '/^my\/(\w+)$/'=>'Index/index?name=:1',  

 '/^my\/(\d{4})\/(\d{2})\/(\d{2})$/'=>'Index/day?year=:1&month=:2&day=:3',  

),

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php中的实现trim函数代码
Mar 19 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
详解phpstorm2020最新破解方法
Sep 17 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 #PHP
PHP获取当前所在目录位置的方法
Nov 26 #PHP
thinkphp模板的包含与渲染实例分析
Nov 26 #PHP
PHP中strtr字符串替换用法详解
Nov 26 #PHP
thinkphp模板继承实例简述
Nov 26 #PHP
thinkphp中空模板与空模块的用法实例
Nov 26 #PHP
PHP中SimpleXML函数用法分析
Nov 26 #PHP
You might like
咖啡与水的关系
2021/03/03 冲泡冲煮
PHP完整的日历类(CLASS)
2006/11/27 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
python简单获取数组元素个数的方法
2015/07/13 Python
python中的lambda表达式用法详解
2016/06/22 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
python3 map函数和filter函数详解
2019/08/26 Python
python实现飞机大战小游戏
2019/11/08 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
暑假生活随笔
2015/08/15 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android