2

我正在使用 codeigniter 开发一个 Web 应用程序。我在控制器中创建了一个名为“Administration”的文件夹。在这个文件夹中,我保留了与管理面板相关的所有控制器。

现在,我希望如果任何用户将 url 键入为 www.mywebsite.com/administration,则用户应该被重定向到相应的控制器,无论管理后的下一个段是什么。就像如果用户键入 wwww.mywebsite.com/administration/login,那么应该执行登录控制器。嗯,这是一件很明显的事情。

现在我想要的是,当有人键入任何内容 www.mywebsite.com/anything_else 时,默认情况下它应该被定向到其他控制器。我正在使用以下路线设置:

$route['default_controller'] = 'welcome';
$route['404_override'] = ''; 
$route['administration/(:any)']='administration/$1';
$route['(:any)']='fetch_pages';

请指导。

4

2 回答 2

0
$route['^(?!administration).*'] = "fetch_pages";
$route['administration/(:any)']='Administration/$1';

我认为您在管理中创建了带有大写字母“A”的文件夹

于 2012-06-04T07:22:03.683 回答
0

我建议你做另一种方法:

$route['default_controller'] = 'welcome';
$route['404_override'] = 'fetch_pages/index'; 

此解决方案使您能够跳过声明明显的administration路由,所有其他路径都将通过fetch_pages控制器调用。

阅读更多关于 404_override

根据您的需要,您可能需要考虑show_404()在找不到基于uri的数据时运行。

于 2012-06-04T07:10:17.143 回答