2016-06-12 107 views
0

我在一个项目工作,确定这样笨路由存在

$route['(:any)/(:num)'] = 'category/index/$2'; 

几乎所有的URL停止工作我的路线后。如果任何控制器方法不存在,我想应用此路线。就像是,我想在应用这个之前检查所有的方法。

回答

3

您需要在最后声明此路由。因为如果你声明某事像这样:

$route['(:any)/(:num)'] = 'category/index/$2'; // at the beginning 
$route['product/(:num)'] = 'product_id/$2'; 
$route['user/(:num)'] = 'user_id/$2'; 

产品/ 421用户/ 312和类别/ 2432的所有URL会显示您的类别控制器和索引方法。

您可以在应用程序声明默认控制器/配置/ routes.php文件:

$route['default_controller'] = 'category'; 

,并在索引方法的类别控制器需要设置类别ID为前。 $ catId = $ this-> uri-> segment(2);

+1

+1同样应该检查'$ this-> uri-> segment(n)'和'$ this-> uri-> rsegment(n)'与右边的$ 1'或$ 2'的区别路线一侧。 – Tpojka