0

我正在尝试通过仅更改控制器名称并保持任何其他分段不变来重新路由我的 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 上?

提前致谢。垫

4

0 回答 0