全局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']);