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 分页原理详解
Aug 21 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
php静态文件生成类实例分析
Jan 03 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 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
sphinx增量索引的一个问题
2011/06/14 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
使用python实现扫描端口示例
2014/03/29 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
法律七进实施方案
2014/03/15 职场文书
开业典礼主持词
2014/03/21 职场文书
服务理念标语
2014/06/18 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript