我正在开发一个带有codeigniter的Web应用程序。我在控制器中创建了一个名为"管理"的文件夹。在此文件夹中,我保留了与管理面板相关的所有控制器。
现在,我希望如果任何用户键入 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';
请指导。
我建议你做另一种方法:
$route['default_controller'] = 'welcome';
$route['404_override'] = 'fetch_pages/index';
此解决方案使您可以跳过声明明显的administration
路由,所有其他路径都将通过控制器调用fetch_pages
。
阅读更多 关于 404_override
根据需求,可能需要考虑在无法找到基于 uri 的数据时运行show_404()
。
$route['^(?!administration).*'] = "fetch_pages";
$route['administration/(:any)']='Administration/$1';
我认为您在管理中创建了大写字母"A"的文件夹