Laravel URL重写级联或转发以路由相同模式的URL


Laravel URL rewrite cascade or forward to route for same pattern URLs

我遇到了一个URL结构相同但服务于不同资源的问题。考虑以下示例:

GET /mumbai/mobiles GET /travel/best-getaways-from-delhi 现在在我的routes.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)。我该怎么做?或者有人能给我一个更好的方法吗。感谢

我会在URL中添加一个前缀以进行区分。例如,具有类似/city/mumbai/mobiles/page/travel/best-getaways-from-delhi 的链接