我想在路由中传递两个参数,但它只适用于一个。 以下是我的代码。
Route::group(['domain' => '{subdomain}'.'.example.com'], function() {
// Here goes all your subdomain handling
// Then handle subdomain requests that where not found
Route::get('{slug}', function($subdomain, $slug) {
return redirect(\URL::to('http://example.com/'.$slug));
})->where('slug', 'admin')->where('slug', 'distributor');
});
例如:
www.ez.example.com/distributor
重定向到www.example.com/distributor
但admin
无效
它仅适用于经销商。我希望它也适用于管理员,
答案 0 :(得分:2)
你只是让它在其中一个地方工作的原因是因为where存储在一个数组中并且被传递给它的名称键入(即'slug'
)所以第二个是覆盖了第1个。
where()
上的Route
方法采用正则表达式,因此您可以做的是:
Route::get('{slug}', function($subdomain, $slug) {
return redirect(\URL::to('http://example.com/'.$slug));
})->where('slug', 'admin|distributor');
希望这有帮助!