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

Azure App Service中PHP CodeIgniter出现404 Not Found - nginx/1.24.0错误

解决Azure App Service上CodeIgniter应用的nginx 404 Not Found问题

环境信息

  • 平台:Azure App Service
  • Web服务器:nginx/1.24.0
  • 框架:PHP CodeIgniter

已执行的排查步骤

  • 检查应用日志:未发现与404问题相关的特定错误
  • 验证部署:所有文件均在对应位置,近期无变更操作
  • 检查nginx配置:无改动,配置看似正确
  • 重启服务:尝试重启Azure App Service,但问题仍存在
  • Azure诊断:未报告异常资源使用情况或错误

进一步排查与修复建议

1. 检查CodeIgniter路由配置

  • 确认application/config/routes.php中的默认路由是否正确设置,比如默认控制器和方法:
    $route['default_controller'] = 'Home';
    $route['404_override'] = '';
    
  • 排查自定义路由是否存在语法错误、正则表达式匹配错误或路由冲突情况

2. 验证nginx的URL重写规则

  • 即使未手动改动nginx配置,Azure App Service可能自动更新基础配置,检查站点根目录下的.nginx.conf或对应nginx配置文件,确保包含CodeIgniter所需的重写规则:
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    
  • 若存在/.htaccess文件,确认nginx配置中已开启allowoverride all,保证重写规则能被正确解析

3. 检查Azure App Service路径映射设置

  • 进入Azure门户的App Service → 配置 → 路径映射,确认虚拟应用程序的路径配置是否正确,避免因路径映射错误导致请求无法到达CodeIgniter入口文件

4. 验证CodeIgniter基础URL与PHP环境

  • 检查application/config/config.php中的base_url是否与当前App Service域名完全匹配:
    $config['base_url'] = 'https://your-app-name.azurewebsites.net/';
    
  • 确认Azure App Service的PHP版本与CodeIgniter版本兼容(如CodeIgniter 3.x需PHP 5.6+,CodeIgniter 4.x需PHP 7.4+)

5. 排查静态资源路径问题

  • 若仅静态资源(CSS、JS、图片等)出现404,核对页面引用路径与资源实际存储路径是否一致,避免相对路径错误导致加载失败

6. 清理临时文件并重启服务

  • 通过Azure门户的App Service → 开发工具 → 高级工具进入Kudu控制台,执行命令清理临时缓存文件:
    rm -rf /home/site/wwwroot/tmp/*
    rm -rf /home/site/wwwroot/application/cache/*
    
  • 清理完成后再次重启App Service,尝试访问应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:18:14