要将 codeigniter 4 默认首页设为自定义控制器,需修改 app/config/routes.php 中的 $routes->setdefaultcontroller('dashboard'),确保类名大小写匹配、文件存在,并执行 php spark cache:clear 和 php spark routes 验证生效。

想让 CodeIgniter 默认打开的页面变成你自己写的控制器,而不是 welcome 或其他默认内容,就必须修改路由配置文件里的默认控制器定义——这个设置不改,访问 http://localhost/ 永远跳不到你的 Home 或 Dashboard。
找到并编辑 Routes.php 文件
进入项目根目录 → 打开 app/Config/Routes.php 文件。这是 CI4 唯一有效的路由配置入口,旧版 CI3 的 application/config/routes.php 在 CI4 中已失效,别找错位置。
用文本编辑器打开后,直接搜索 【default_controller】,你会看到类似 $routes->setDefaultController('Home'); 这样的语句(CI4 使用方法调用而非数组赋值)。
把默认控制器改成你自己的类名
确认你的控制器文件存在且命名规范:比如你想设为首页的是 app/Controllers/Dashboard.php,里面定义了 class Dashboard extends BaseController,那么就写 Dashboard。
将原行改为:$routes->setDefaultController('Dashboard');
这一步必须严格匹配类名大小写,Dashboard 和 dashboard 是两个不同的类,CI4 会直接报错找不到控制器。
验证是否生效
第一步:清空路由缓存,执行命令:php spark cache:clear;
第二步:重新生成路由列表,执行命令:php spark routes;
第三步:在输出结果中查找 【(default)】 标记行,确认它指向的是 Dashboard::index 而不是 Welcome::index 或其他;
第四步:直接访问 http://localhost/,页面应显示 Dashboard 控制器的 index 方法输出内容。
如果仍跳转到旧页面,说明缓存没清干净,或 .htaccess 未生效导致请求根本没进 CI4 路由层——此时需检查 Apache 是否启用 mod_rewrite 并确认 public/.htaccess 存在且未被覆盖。










