Laravel URL перезаписать каскадом или переслать для маршрутизации для тех же шаблонов URL
Я столкнулся с проблемой URL-адресов, имеющих одинаковую структуру, но обслуживающих разные ресурсы. Рассмотрим пример ниже:
GET /mumbai/mobiles
GET /travel/best-getaways-from-delhi
Теперь в моем rout.php у меня есть определение правила, как показано ниже:
Route::get('/{city}/{category}', array(
'as' => 'citySearch',
'uses' => 'SearchController@doSearch'
));
Route::get('/{category}/{pageSlug}', array(
'as' => 'pageUrl',
'uses' => 'pageController@pageView'
));
Очевидно, если я прошу /travel/best-getaways-from-delhi
это будет соответствовать первому правилу, и я не смогу обслуживать контент. Моя логика здесь заключается в том, что я могу написать фильтр / или в контроллере код, который будет искать все города, и если города нет (т. Е. Нет города), он перенаправит мои запросы во второе правило (pageUrl
). Как я могу это сделать? или кто-нибудь может предложить мне лучший подход. Спасибо
1 ответ
Я бы добавил префикс к URL, чтобы дифференцировать. Например, есть ссылки, как /city/mumbai/mobiles
а также /page/travel/best-getaways-from-delhi