我需要由同一控制器功能管理2条路由。
我不想创建不同的规则,而是要创建1条规则。
因此,不要像这样:
Route::get('/', ['uses' => 'MyController@index']);
Route::get('dashboard', ['uses' => 'MyController@index']);
我想使用1条规则。我发现了这个multiple routes in single Route::get() call Laravel 4,但该代码对我不起作用。
这是我尝试失败的尝试:
// THEY BOTH DO NOT WORK
Route::get('/{name}', ['uses' => 'MyController@index'])->where('name', 'dashboard|');
Route::get('/{name}', ['uses' => 'MyController@index'])->where('name', '(dashboard)?');
使用这些规则,如果我去/
路线,则会收到404错误。
如果我去dashboard
路线,那就行了。
答案 0 :(得分:3)
为name
做一个optional route parameter应该可以:
Route::get('/{name?}', ['uses' => 'MyController@index'])->where('name', 'dashboard');
不确定使用uses
的原因,简称为:
Route::get('/{name?}', 'MyController@index')->where('name', 'dashboard');