2016-06-12 105 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