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

Другие вопросы по тегам