我遇到了一个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
的链接