完整匹配
完整匹配
如果希望仅仅匹配
http://tp5.com/hello/thinkphp
而不能访问这种地址
http://tp5.com/hello/thinkphp/city/shanghai
就可以使用完整匹配功能,路由定义规则改为:
Route::get('hello/:name$','index/index/hello');
路由规则最后用$
结尾就表示该路由规则是完整匹配的。
(有部分情况下注册的路由规则是自动完整匹配的,比如说资源路由,我们后面会讲到。)
或者使用路由参数
Route::get('hello/:name','index/index/hello',['complete_match'=>true]);
两种方式的作用是相同的(实际上使用$结尾的路由定义最终也会解析成complete_match
参数的方式)。
【5.1须知】
可以使用下面的方法定义局部完整匹配
Route::get('hello/:name','index/index/hello')->completeMatch();
如果需要全局的路由规则定义都是完整匹配的话,可以直接修改应用的配置参数:
'route_complete_match' => true
当开启全局完整匹配