thinkphp5路由的完整匹配

今天学习时候遇到这么一个问题:

当我输入网址访问 http://tm.cn/test/index/1 时候

Route::rule('test/index/:id', 'test/index/index', 'get'); 

上面的路由无法匹配到,而是跳转到了 test对应的路由,这是因为默认不是完整匹配,

Route::get([
    'test' => 'index/Index/test',
    'get_brands' => 'index/Index/list2',
]);

但是如果我去掉:id时候就能正确匹配到第一个路由,经过查阅相关资料
可以通过下面两种方式处理,一个是将第二个路由,修改为如下:
$ 符号表示这个路由需要完整匹配,这样子http://tm.cn/test/index/1就不不会匹配到这个路由了,而是匹配到第一个路由了

Route::get([
    'test$' => 'index/Index/test',
    'get_brands' => 'index/Index/list2',
]);

还可以在应用配置config.php打开完整匹配,所有路径都是需要进行完整匹配

// 路由使用完整匹配
'route_complete_match'   => false,

这样子访问http://tm.cn/test/index/1 或者 http://tm.cn/test/index 都是可以访问到第一个路由,其中:id可传可不传

参考资料:
thinkphp路由的完整匹配

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值