You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XAMPP环境CodeIgniter配置后无法通过URL访问Home控制器报404

故障原因

该404报错和Home控制器代码本身无关,由三类配置问题导致:

  • Apache未开启URL重写模块,非index.php开头的请求无法被转发到CodeIgniter框架入口文件
  • 站点目录未开启.htaccess覆盖权限,框架自带的路径重写规则不生效
  • (CI4新版本高概率触发)路由配置默认关闭了自动路由映射,控制器无法直接通过URL路径匹配
修复步骤

1. 开启Apache重写模块

打开XAMPP控制面板,点击Apache栏的Config按钮,选择httpd.conf打开配置文件,搜索如下配置行:

#LoadModule rewrite_module modules/mod_rewrite.so

删除行首的#注释符,修改为:

LoadModule rewrite_module modules/mod_rewrite.so

2. 开启目录重写覆盖权限

在同一份httpd.conf文件中,找到你之前修改的站点目录配置块,将块内的AllowOverride配置值从None修改为All,完整参考配置如下:

DocumentRoot "C:/xampp/htdocs/crm/public/"
<Directory "C:/xampp/htdocs/crm/public/">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

3. 校验public目录下重写文件

确认C:/xampp/htdocs/crm/public/目录下存在.htaccess文件,文件核心重写规则如下,若文件缺失直接新建该文件写入内容即可:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

4. 校验路由配置(CI4新版本必查)

打开app/Config/Routes.php文件,按需选择配置方式:

  • 如果要保留默认的控制器/方法自动映射访问规则,将$routes->setAutoRoute(false);修改为$routes->setAutoRoute(true);
  • 如果要保持默认关闭自动路由的安全配置,手动新增一条路由规则即可:
$routes->get('home', 'Home::index');

5. 重启服务生效

所有配置修改完成后,在XAMPP控制面板重启Apache服务,直接访问http://localhost/home即可正常加载Home控制器对应的页面。

内容的提问来源于stack exchange,提问作者コーダーゴースト

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:03:25