全局miss路由
如果希望在没有匹配到所有的路由规则后执行一条设定的路由,可以使用miss
路由功能,只需要在路由配置文件中定义:
return [
'new/:id' => 'news/read',
'blog/:id' => ['blog/update',['method' => 'post|put'], ['id' => '\d ']],
'__miss__' => 'public/miss',
];
或者使用miss
方法注册路由
route::miss('public/miss');
当没有匹配到所有的路由规则后,会路由到 public/miss
路由地址。
分组miss路由
分组支持独立的miss
路由,例如如下定义:
return [
'[blog]' => [
'edit/:id' => ['blog/edit',['method' => 'get'], ['id' => '\d ']],
':id' => ['blog/read',['method' => 'get'], ['id' => '\d ']],
'__miss__' => 'blog/miss',
],
'new/:id' => 'news/read',
'__miss__' => 'public/miss',
];
如果使用group
方法注册路由的话,可以使用下面的方式:
route::group('blog',function(){
route::rule(':id','blog/read',[],['id'=>'\d ']);
route::rule(':name','blog/read',[],['name'=>'\w ']);
route::miss('blog/miss');
},['method'=>'get','ext'=>'html']);