路由功能由\think\Route
类完成。
一 路由模式
1 普通模式
关闭路由,完全使用默认的PATH_INFO方式URL
'url_route_on' => false,
2 混合模式
开启路由,并使用路由定义+默认PATH_INFO方式的混合
'url_route_on' => true,
'url_route_must' => false,
3 强制模式
开启路由,并设置必须定义路由才能访问
'url_route_on' => true,
'url_route_must' => true,
二 路由注册(Route::rule())
路由定义采用\think\Route
类的rule
方法注册,通常是在应用的路由配置文件application/route.php
进行注册,格式是:
Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
例如注册如下路由规则:
use think\Route;
// 注册路由到index模块的News控制器的read操作
Route::rule('new/:id','index/News/read');
我们访问:http://serverName/new/5 会自动路由到:http://serverName/index/news/read/id/5 并且原来的访问地址会自动失效。
1 规则表达式
规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式:
'/' => 'index', // 首页访问路由
'my' => 'Member/myinfo', // 静态地址路由
'blog/:id' => 'Blog/read', // 静态地址和动态地址结合
':user/:blog_id'=>'Blog/read', // 全动态地址
例如:Route::rule('new/:id','index/article/details');
浏览器输入:http://serverName/new/5 实际上访问的地址是 http://serverName/index/article/details/id/5
支持