【备忘】关于tp动态注册路由的挖坑采坑经验

教训:

自我感觉没问题的路由配置今天出了个严重忽略是路由造成的问题,以至于花了2个小时才解决,血的教训,特此备忘!

正文:

我的系统最近加了个模块,举例:叫代理模块;模块名为:agent。所有功能开发完之后,开始上线,但由于测试人员说:www.game.com/agent 访问会报错,查到原因是因为本人使用的第三方快速开发框架将默认访问路径修改为了home/index,为了不改原有配置,我想了个办法(马上要入坑了,我还不知道),我在路由rote.php文件配置了一个路由:

//Route::rule('agent','agent/user/login');这配置一看没问题,而且以前也配置了同样的代码:

//Route::rule('dbm','agent/Dbmanage/index');而且也用了很久,访问www.game.com/dbm一直都没有问题,感觉自己很有自信(这样我就完全忽略路由可能有问题)

仔细品读这句代码发现:这样配置就代表,agent模块下的所有路径url都会被解析到agent/user/login上面,顿时我好想明白了什么!!!如果将www.game.com/agent改成非模块字符访问就不会存在这个问题了!例如:www.game.com/agt(或者其它abcdefg),到这里根本原因已经定位到了,经过测试就是它,让我疏忽的地方!

最后提醒一下,Route::rule('agt','agent/user/login');这样配置会导致原来的url路径会失效,也就是访问agent/下面的控制器会报错,说没有xxx控制器或方法,解决办法是配置:Route::rule('agent/dbmanage/index','agent/Dbmanage/index');也就是再加一句代码路由到同样的地址,那么原来的地址就能正常访问了。

这样:

Route::rule('dbm','agent/Dbmanage/index');//dbm可以成abcdefg
Route::rule('agent/dbmanage/index','agent/Dbmanage/index');

 其实以前也遇到过一次,不过那次很快就解决了,也没太注意,也想不到还会犯,哎,老了,不灵光了~哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SDL大华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值