Codeigniter路由,如果方法不存在

时间:2016-06-12 13:31:05

标签: codeigniter

在定义我的路线之后,我正在一个项目中工作

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

几乎所有网址都停止工作。如果任何控制器方法不存在,我想应用此路由。就像if,我想在应用之前检查所有方法。

1 个答案:

答案 0 :(得分:3)

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

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

所有网址如

product / 421 user / 312和category / 2432将显示您的类别控制器和索引方法。

您可以在application / config / routes.php中声明默认控制器:

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

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