如何匹配CodeIgniter路由中的多个段

时间:2013-01-18 10:52:15

标签: regex codeigniter routing routes

我正在尝试通过仅更改控制器名称来重新路由我的CodeIgniter URI,并保留任何其他段不变,无论有多少(如果有)。

我的控制器使用的是单级文件夹结构,例如 controllers / user / profile_controller.php

每个控制器都被称为 [name] _controller ,以区别于其他文件/类并避免冲突(即用户控制器与Tank Auth用户模型发生冲突),但我希望URI为:

/users/profile

因此,一条简单的路线(有效)将是:

$route['(:any)/(:any)'] = '$1/$2_controller';

但上面的内容不允许后续的细分,我不知道有多少。 (:any)不起作用,因为它只适用于单个段,显然我不想为潜在的段数写入多个路由,即使它很低。

我已尝试使用正则表达式来匹配URI的其余部分(例如:users / profile / edit / 123 / abc),但以下内容不起作用:

$route['(:any)/(:any)/(.+)'] = "$1/$2_controller/$3";

有没有人知道是否可以匹配其余的段并将它们放回到重新路由的URI上?

提前致谢。 垫

0 个答案:

没有答案