tp5将路由规则的作用对象改为模块

在使用tp5的路由是,写了一个路由规则(route.php)

本来只是想在index模块使用,突然发现影响到了admin模块,admin模块下的admin/news/xxx 不能正常访问了,原因就是路由规则影响到了。

后来查了下文档,说是route.php是针对的应用,单独在模块里定义route.php是无效的,当然,也可以在配置文件中的route_config_file中通过   模块名/route.php 的方式添加使模块里定义的route.php生效,但是仍然是影响到admin模块,

然后,我就又走了老套路。。改代码

具体怎么找的我就不说了,直接上结果

最终在\thinkphp\library\think\App.php里找到了routeCheck方法

把方法里的路径加上BIND_MODULE."/",BIND_MODULE需要你在模块的入口文件定义,也就是你的模块名,这样,访问的时候,只会使用对应模块下的路由规则(route.php),不会相互影响,当然,不要再runtime文件夹下加route.php,不然就不灵了,动态添加的话,我没有试,因为比较懒。。。。你可以自己试试成不成,不成的话,你试试把\thinkphp\library\think\console\command\optimize\Route.php下面的buildRouteCache方法照着上面的做法修改下,有用的话记得告诉我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值