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

CodeIgniter配置routes.php后仍报404 Page Not Found错误

CodeIgniter 站点访问返回404错误修复方案

核心必改项(覆盖90%同类问题)

  • 文件名与路径大小写合规校验
    CodeIgniter 3.x对文件大小写敏感度极高,必须严格匹配规则:
    • 控制器Crud.php必须存放在application/controllers/目录下,文件名首字母大写,禁止命名为crud.php/CRUD.php
    • 模型Crud_model.php必须存放在application/models/目录下,文件名首字母大写,禁止全小写命名
    • 视图insert.php存放在application/views/目录下即可
  • 补全默认访问方法
    现有Crud控制器仅定义了savedata()方法,缺少默认路由自动调用的index()方法,访问根路径时直接触发404。如果需要根路径直接展示注册表单,在控制器中新增如下方法:
    public function index()
    {
        $this->load->view('insert');
    }
    
    未新增该方法前,可先访问http://你的域名/index.php/Crud/savedata验证控制器是否正常加载。
  • 修正基础URL配置
    config.php中$config['base_url']留空会导致路径解析异常,必须填写实际站点访问地址,结尾必须带斜杠,本地开发示例:
    $config['base_url'] = 'http://localhost/你的项目目录名/';
    

重写规则排查(对应已部署的.htaccess文件)

  • 确认.htaccess存放位置:必须放在项目根目录,与application、system文件夹同级,不能放在application目录内
  • 替换为CI标准重写规则,直接覆盖现有.htaccess内容测试:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    
  • 确认Apache服务已开启mod_rewrite重写模块,模块未开启时所有重写规则不生效,必然返回404
  • 重写规则验证生效后,将config.php中$config['index_page']的值改为空字符串:
    $config['index_page'] = '';
    

其他关联问题修复(不影响404但会导致后续功能异常)

  • 模型文件开头缺少安全限制行,在Crud_model.php开头补充如下代码,避免非法路径访问:
    defined('BASEPATH') OR exit('No direct script access allowed');
    
  • 视图中联系号码输入框的name属性写错,当前重复写为name="email",需改为name="contactnumber",否则提交表单时无法获取联系方式字段值
  • 数据库配置中库名为tsa2,模型中写入的表名为TSA2exam,需提前确认该表确实存在于对应数据库中,避免后续插入数据报错

验证流程

按以下顺序测试可快速定位问题点:

  1. 先访问带index.php的地址http://你的域名/index.php/Crud/savedata,如果能正常打开表单,说明控制器、模型加载逻辑正常,问题出在重写规则或base_url配置
  2. 如果带index.php的地址仍返回404,优先检查文件存放路径、文件名大小写,确认控制器是否补全了必要的类结构
  3. 带index.php访问正常后,再测试去掉index.php的路径,逐项排查.htaccess规则、重写模块状态

内容的提问来源于stack exchange,提问作者MalkynRei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:24:23