要在codeigniter中实现前后台路由隔离,需从入口文件、应用目录结构、路由配置三层面物理隔离:复制index.php为admin.php并分别指向application/home和application/admin;复制config等5个文件夹至两个子目录;各自配置默认控制器及独立控制器与视图;删除子目录下.htaccess避免403错误。

要在CodeIgniter中让后台路由和前台路由互不干扰、各自独立运行,必须从入口文件、应用目录结构、路由配置三个层面做物理隔离,否则容易出现控制器冲突、静态资源403、默认路由错乱等问题。
复制并重命名入口文件
在项目根目录下复制 index.php,命名为 admin.php。
打开 index.php,将 $application_folder = 'application'; 改为 $application_folder = 'application/home';。
打开 admin.php,将 $application_folder = 'application'; 改为 $application_folder = 'application/admin';。
【改错会导致整个后台无法加载控制器】 这一步不能漏掉斜杠或写错路径大小写,Linux服务器对大小写敏感,写成 Application/admin 就会报 500 错误。
拆分 application 目录结构
进入 application/ 目录,新建两个子目录:home 和 admin。
把原 application/ 下的 config、controllers、models、views、libraries 这5个文件夹完整复制一份到 home/,再复制一份到 admin/。
注意:不要移动,必须复制。移动会导致前台无法启动,因为 index.php 仍指向 application/home,但原文件已不存在。
配置各自默认路由
编辑 application/home/config/routes.php,将 $route['default_controller'] = 'welcome'; 改为 $route['default_controller'] = 'Home';。
编辑 application/admin/config/routes.php,同样改为 $route['default_controller'] = 'Home';。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
这两处必须分别修改,不能只改一个。如果后台没改,访问 http://localhost/admin.php 会跳转到前台的 welcome 控制器,因为 CI 默认去 application/ 根目录找 welcome,而该目录已空。
创建独立控制器与视图
在 application/home/controllers/ 下新建 Home.php,内容为:
class Home extends CI_Controller { public function index() { $this->load->view('zhuye'); } }
在 application/admin/controllers/ 下也新建 Home.php,内容相同,仅视图名可不同(如 'admin_zhuye')。
分别在 application/home/views/zhuye.php 和 application/admin/views/admin_zhuye.php 中写入对应页面内容。
这一步做完后,http://localhost/ 显示前台首页,http://localhost/admin.php 显示后台首页,两者完全解耦。
修复后台静态资源 403 报错
访问 admin.php 页面时若提示 403 Forbidden(如加载 echarts.js 失败),说明后台视图引用的 JS/CSS 路径被 Apache 的 .htaccess 拦截。
定位到 application/home/.htaccess 和 application/admin/.htaccess —— 如果存在,直接删除这两个文件。
CI 的 .htaccess 默认禁止访问 application/ 下任何子目录,删掉即可解除限制。不删,后台所有静态资源都会 403。










