所有控制器的代码点火器路线


codeigniter route for all controllers

我有一个网站,里面有不同的控制器商店、文章、基本页面(例如关于、主页、常见问题等)

我需要一种在我的网站上显示项目的方法,比如这个

通常是这样的

www.site.com/category/sub-category/article-title

但我需要像这个一样

www.site.com/article-title

通常商店是这样的

www.site.com/shops/shop-name

但我需要像这个一样的

www.site.com/shop-name
 OR shop-name.site.com

我当前路线规则的摘录

$route['category/(:any)'] = 'ads/cat/$1';
$route['category/(:any)/(:any)'] = 'ads/cat/$1/$2';
$route['shops/(:any)'] = 'shops/$1';
$route['shops/(:any)/(:any)'] = 'shops/$1/$2';
$route['(:any)/(:any)'] = 'site/$1/$2';
$route['(:any)'] = 'site/$1';

看看URI路由。缺点是你必须手工添加每条路线。

$route['article-title'] = 'category/sub-category/article-title'
$route['article/(:any)'] = 'article/$1'

您也可以尝试使用_remap()在控制器内部重新映射。

这篇文章把事情解释得相当透彻。