Ошибка 404 в маршрутизации Laravel с изменением порядка параметров - PullRequest
0 голосов
/ 11 декабря 2018

В моей маршрутизации Laravel есть странная проблема.Когда я использую этот URL, все идет отлично:

Route::get('properties/{product}', 'ProController@getpro');

Но хотя я хочу изменить порядок, как показано ниже, я получаю страницу 404 не найдена:

Route::get('{product}/properties', 'ProController@getpro');

В чем проблема?

http://127.0.0.1:8000/product/pizza-lake-dariusbury/properties 404 (не найдено)

Я использую установщик Laravel версии 2.0.1

1 Ответ

0 голосов
/ 11 декабря 2018

Поскольку вы используете два маршрута, которые принимают общие параметры, у Laravel может возникнуть проблема с сопоставлением URL-адреса с маршрутом.Например: /product/1/properties, может идеально соответствовать этому {prod?}/{prod_size?}.

. Чтобы исправить это, я предлагаю добавить к маршруту некоторый префикс, чтобы идентифицировать их:

Route::get('routename1/{product}/properties', 'ProController@getpro');
Route::get('routename2/{prod?}/{prod_size?}', 'ProController@name');

Затемroutename1/1/properties никогда не будет соответствовать routename2/{prod?}/{prod_size?}.

Тогда Laravel сможет идеально сопоставить параметры URL с маршрутом.

...