我在Laravel中定义的路线有问题。到目前为止,我们所有的URL结构都包含一到四个参数。举一个虚拟的例子
example.com/product
example.com/product/make
example.com/product/make/model
example.com/product/make/model/colour
使用两个,三个或四个参数,我创建了特定的路由。对于只有一个参数的网址,我使用了全部路由。
Route::get('/', 'HomePageController@index');
Route::group(['middleware' => 'my_middleware'], function()
{
Route::get('{product}/{make}', 'MakeController@index');
Route::get('{product}/{make}/{model}', 'ModelController@index');
Route::get('{product}/{make}/{model}/{colour}', 'ColourController@index');
Route::get('{product}', 'DefaultController@index');
});
我现在需要为每个URL添加两个新参数-一个用于站点国家,一个用于站点区域。因此,例如,网址可能是:
example.com/uk/suffolk/product/make
我已通过在我的路线组中添加'prefix' => '{country}/{area}'
来实现这一目标。但这给我带来了问题。如果有人使用我的旧网址结构-即没有两个新参数,会发生什么情况。如何获取路由来区分以下网址-两者都有三个参数
example.com/product/make/model
// AND
example.com/uk/essex/product
我们为大约30个国家/地区提供服务,每个国家/地区最多可包含5个区域。我需要在中间件中进行一些验证还是有更好的解决方案?