CodeIgniter __remap()路由多个控制器

时间:2011-06-16 20:26:12

标签: php codeigniter

我正在尝试使用CodeIgniter 2创建一个URL缩短器。

我有2个控制器:mainapi

要通过路由器重定向短链接,我在config/routes中使用此设置:

$route['(.*)'] = "main/$1";

以及main控制器中应该工作的方法。但是,控制器无法启动。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您的控制器“任何”未被调用,因为它属于该正则表达式,因此它被路由到main。 为了从此规则中排除“任何”,您需要为此创建一个特殊规则,请记住,CI规则是级联,因此它们按照它们呈现的顺序执行< / p>

  

注意:路线将按顺序运行   他们是定义的。更高的路线将   总是优先于低   的。

所以,你会:

// reserved routes must come before custom routes
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['any'] = //your rule here. maybe "any". ?
$route['(.*)'] = "main/$1";  // CI also provides you with `(:any)` rule, that mateches any character.

有关此内容的更多信息:Uri routing