关于Thinkphp3.2.3的路由使用
2017-05-31 19:25
295 查看
一、关于路由
根据Thinkphp的开发手册,要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能),那么,什么是pathinfo模式?pathinfo 模式是index.php/index/index 这种url格式,需要服务器支持pathinfo才行。
rewrite就是伪静态,把index.php隐藏掉。
兼容模式就是普通的模式加s=/参数/或者m=model&a=action这样的 各个开发框架都自己特定的格式。
Thinkphp支持伪静态只需要在应用配置文件里加上:
'URL_MODEL'=>2,
这样的好处对我而言就是去掉看着很烦的index.php啦!
二、使用路由
下面是一个简单的静态路由的例子:根据开发手册:静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限。
在Home模块里的配置文件中:
<?php return array( 'URL_ROUTER_ON' => true,//开启路由 'URL_MAP_RULES'=>array( 'success'=> 'Index/success',//Index控制器里的success方法 ), );
pathinfo模式:http://localhost/app/index.php/Home/Index/success
重写模式:http://localhost/app/Home/Index/success
开启路由后:http://localhost/app/Home/success(注意:还是有home模块)
这时我发现控制器在跳转url的时候也需要改变相应的地址~
header("Location:".__CONTROLLER__."/success"); //header("Location:home/success");//启用路由后的url
但是,设置路由之后,还是有模块名称home,看了还是很烦,下面来隐藏掉它!
在应用的配置文件中:
'MODULE_ALLOW_LIST' => array('Home','Admin','User'), 'DEFAULT_MODULE' => 'Home',
这样就可以用http://localhost/app/success访问了!!!
另外带参的路由设置就好好看手册啦!手册很重要!!!
相关文章推荐
- thinkphp3.2.3关于模板使用之一二
- thinkphp3.2.3关于模板使用之一二
- ThinkPHP 3.2.3 URL 路由的使用
- ThinkPHP3.2.3 使用常量BUILD_CONTROLLER_LIST无法生成Controller
- Thinkphp3.2.3 路由
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- ThinkPHP3.2.3快速入门 路由
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(八)移动端index
- thinkphp3.2.3 ueditor 后台配置项返回格式出错,上传功能将不能正常使用!
- 关于thinkphp3.2中使用smarty模板success调转失败的解决办法
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- 关于使用ThinkPHP从Mssql2005中查询中文乱码的处理
- 关于Thinkphp 使用uploadify上传文件的问题(data返回值的问题)
- ThinkPHP关于模板的一些嵌套、IF判断使用
- 关于ThinkPHP中SESSION使用
- 2016/06/09 ThinkPHP3.2.3使用分页
- 关于thinkphp中 include标签使用变量
- THinkPHP上面关于图片上传类的使用
- ThinkPHP3.2.3的Htmlpurifier的简易使用(不建议常用影响效率)
- Thinkphp3.2 关于快捷函数 模板引擎换为smarty时 地址跳转函数U()的使用修改及说明