网站的链接类似这样 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参数了,导致其它控制器必须得一个一个写路由了,请问有没有什么好办法在路由器里判断呢
放到路由定义的最下面,当其他路由不匹配时再来匹配此路由。
如果你的其他路由都是隐式路由,那就需要在 中间件 里面处理转发。