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

Ubuntu下Nginx部署CodeIgniter登录后404错误解决方法咨询

修复CodeIgniter项目Nginx登录后404错误的方案

核心问题原因

CodeIgniter作为MVC框架,登录后的请求属于动态路由(并非真实存在的文件/目录),你的Nginx配置中location /规则会直接返回404,而非将请求转发给框架入口文件index.php处理。

具体修复步骤

1. 修改Nginx虚拟主机配置

编辑你的Nginx站点配置文件,将location /区块替换为以下内容:

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}

这个规则的作用是:先尝试访问真实存在的文件或目录,若不存在则将请求转发到index.php,由CodeIgniter框架处理路由。

2. 检查并修正CodeIgniter的config.php配置

打开项目根目录下的application/config/config.php,确保以下配置正确:

  • 设置index_page为空,移除URL中的index.php后缀:
    $config['index_page'] = '';
    
  • 确认base_url配置正确(你的现有配置基本没问题,若站点有子目录需调整,但当前场景下无需修改)。

3. 验证项目文件权限

确保Nginx运行用户(通常是www-data)对项目目录有足够权限,尤其是application/cache、application/logs这些需要写入的目录:

sudo chown -R www-data:www-data /var/www/hrms.fs/html
sudo chmod -R 755 /var/www/hrms.fs/html
sudo chmod -R 777 /var/www/hrms.fs/html/application/cache /var/www/hrms.fs/html/application/logs

4. 重启Nginx服务

配置修改后,重启Nginx使设置生效:

sudo systemctl restart nginx

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:02:34