tp5路由判断的问题
网站的链接类似这样 xxx.com/wuhan xxx.com/beijing xxx.com/hangzhou
有200多个城市,路由Route::get(':city$','index/index')->pattern(['city' => '[a-z\/]+'])
然后再控制器里判断参数是不是城市
$city=Request::param('city');
$citys=[所有城市数组];
if(array_key_exists($city,$citys)){
////todo
}
这样设置好了路由 就相当于把域名后面的数据都当作city参数了,导致其它控制器必须得一个一个写路由了,请问有没有什么好办法在路由器里判断呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
放到路由定义的最下面,当其他路由不匹配时再来匹配此路由。
如果你的其他路由都是隐式路由,那就需要在 中间件 里面处理转发。
在中间件判断就行啦,不符合的话直接抛出异常或者重定向