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 31 PHP
php 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
PHP curl使用实例
Jul 02 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
php实现的简单数据库操作Model类
Nov 16 PHP
PHP内置加密函数详解
Nov 20 PHP
php 常用的系统函数
Feb 07 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
laravel利用中间件做防非法登录和权限控制示例
Oct 21 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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
php include加载文件两种方式效率比较
2010/08/08 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
Javascript中arguments用法实例分析
2015/06/13 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
店长岗位的工作内容
2013/11/12 职场文书
大学生个人简历自我评价
2013/11/16 职场文书
工作简历的自我评价
2019/05/16 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
分享7个 Python 实战项目练习
2022/03/03 Python