Codeigniter CI:子文件夹中的控制器-从url中删除子文件夹

Codeigniter CI:子文件夹中的控制器-从url中删除子文件夹,codeigniter,Codeigniter,我想将我的控制器、视图和模型分组到public/和members/子文件夹中 但是对于公共内容,我不希望/public/显示在URL中,因此: & 应指向:/public/home&public/section/ 我应该如何更改routes.php以适应这种情况 (我对url中有成员/的成员/东西很满意)请看看这是否适合您: $route['section'] = "public/section"; 您的索引页面将保持为“public/index.php”以指向/public/home,您需

我想将我的控制器、视图和模型分组到
public/
members/
子文件夹中

但是对于公共内容,我不希望/public/显示在URL中,因此:

&

应指向:/public/home&public/section/

我应该如何更改routes.php以适应这种情况



(我对url中有成员/的成员/东西很满意)

请看看这是否适合您:

$route['section'] = "public/section";
您的索引页面将保持为“public/index.php”

以指向
/public/home
,您需要将
public/home
标记为默认控制器。您还需要添加特定路线,以指向
/public/section
。试试这个(在我看来,正则表达式有点可疑,但可以做你想做的):


您不需要为每个控制器添加路由

这对我很有用:

$route['members'] = 'members'; // route members to members
$route['members/(.*?)'] = 'members/$1'; // route members/... to members/...
$route['(.*?)'] = 'public/$1'; // route anything but above lines to public/...

前两行故意冗余,以保护“成员”段不被路由到“公共”段。第三行就有魔力了。

Thx。尽管如此,我想知道的不是为每个公共部分添加路由,而是如果我可以说
在第一个子文件夹不是成员的情况下请求的任何内容/,删除第一个子文件夹
?为此,我相信您需要mod_rewrite:routes.php,我相信目前一次仅限于单个控制器。
$route['members'] = 'members'; // route members to members
$route['members/(.*?)'] = 'members/$1'; // route members/... to members/...
$route['(.*?)'] = 'public/$1'; // route anything but above lines to public/...