У меня есть это в моей web.php (Laravel 5,3)Laravel исключить маршрут
Route::get('/{perfil}/{seccion}', '[email protected]')->where(['perfil' => '(perfil|profile)'])->where(['seccion' => '(mis-hoteles|my-properties)']);
Route::get('/{perfil}/{seccion}', '[email protected]')->where(['perfil' => '(perfil|profile)']);
Я хочу URLs /perfil/mis-hoteles
и /profile/my-properties
быть подан первый маршрут. И URL-адреса /perfil/[whatever]
и /profile/[whatever]
будут обслуживаться вторым маршрутом.
Не работает, /perfil/mis-hoteles
перенаправляется по второму маршруту.
Я также пытался что-то вроде
Route::get('/{perfil}/{seccion}', '[email protected]')->where(['perfil' => '(perfil|profile)','seccion' => '^(!mis\-hoteles$)'])
для второго маршрута, но он не работает.
Что я делаю неправильно? Странная вещь, если удалить второй маршрут и оставить только
Route::get('/{perfil}/{seccion}', '[email protected]')->where(['perfil' => '(perfil|profile)'])->where(['seccion' => '(mis-hoteles|my-properties)']);
это работает, так что матч. Почему, если есть матч, laravel продолжает искать совпадение, обнаруживая второй маршрут?