При определении маршрута в Laravel 4 можно определить несколько путей URI в одном и том же маршруте?
в настоящее время я делаю следующее:
Route::get('/', 'DashboardController@index'); Route::get('/dashboard', array('as' => 'dashboard', 'uses' => 'v1\DashboardController@index'));
но это побеждает мою цель, я хотел бы сделать что-то вроде
Route::get('/, /dashboard', array('as' => 'dashboard', 'uses' => 'DashboardController@index'));
Если я правильно понимаю ваш вопрос, я бы сказал:
Использовать префикс маршрута : http://laravel.com/docs/routing#route-prefixing
Или (необязательно) Параметры маршрута : http://laravel.com/docs/routing#route-parameters
Так, например:
Route::group(array('prefix' => '/'), function() { Route::get('dashboard', 'DashboardController@index'); });
ИЛИ
Route::get('/{dashboard?}', array('as' => 'dashboard', 'uses' => 'DashboardController@index'));
Я считаю, что вам нужно использовать необязательный параметр с регулярным выражением:
Route::get('/{name}', array( 'as' => 'dashboard', 'uses' => 'DashboardController@index') )->where('name', '(dashboard)?');
* Предполагая, что вы хотите направить на тот же контроллер, который не совсем ясен из вопроса.
* Текущий принятый ответ соответствует всем не только /
OR /dashboard
.
Мне интересно любопытствовать, чтобы попытаться решить этот вопрос, отправленный @Alex в качестве комментария в @graemec, чтобы опубликовать решение, которое работает:
Route::get('/{name}', [ 'as' => 'dashboard', 'uses' => 'DashboardController@index' ] )->where('name', 'home|dashboard|'); //add as many as possible separated by |
Потому что второй аргумент where()
ожидает регулярных выражений, поэтому мы можем назначить его для соответствия точно любому из разделенных символом |
поэтому моя мысль о том, возможно, что whereIn()
разрешена этим.
PS: Этот пример проверяется на Laravel 5.4.30
Надеюсь, кто-то посчитает это полезным