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

基于CodeIgniter的应用请求JSON文件时出现net::ERR_CONNECTION_REFUSED错误

解决CodeIgniter应用中JSON文件请求被拒绝的问题

我来帮你一步步排查这个ERR_CONNECTION_REFUSED错误——这个问题通常和静态资源的路径配置、文件权限或者服务器规则有关,咱们从这几个核心方向入手:

  • 先确认文件的实际位置和请求路径是否匹配
    首先,你得检查application-en.json是不是真的在http://127.0.0.1/admin/assets/plugins/translate/这个路径对应的物理目录里。这里容易踩的坑是:CodeIgniter的admin如果是控制器,那URL里的/admin/会指向application/controllers/Admin.php,而不是一个物理目录。如果你的assets文件夹是放在项目根目录下(这是CodeIgniter的标准做法),那正确的请求URL应该是http://127.0.0.1/assets/plugins/translate/application-en.json,而不是带/admin/前缀的。

    你可以直接在浏览器地址栏输入你请求的URL,看看能不能打开这个JSON文件。如果打不开,说明路径肯定错了,调整jQuery代码里的请求路径,比如把相对路径改成绝对路径(前面加斜杠):

    // 错误的相对路径(会基于当前页面URL拼接)
    $.get("admin/assets/plugins/translate/application-en.json", ...)
    // 正确的绝对路径(基于网站根目录)
    $.get("/assets/plugins/translate/application-en.json", ...)
    
  • 检查文件和目录的权限
    如果文件确实在正确的位置,那可能是Web服务器没有读取权限。在Linux/macOS环境下,你需要给assets目录及其子目录设置755权限,给JSON文件设置644权限:

    chmod -R 755 /path/to/your/project/assets
    chmod 644 /path/to/your/project/assets/plugins/translate/application-en.json
    

    Windows环境下,右键文件/目录,确保“读取”权限对IIS或Apache的运行账号开放。

  • 验证.htaccess规则是否阻止了静态资源访问
    如果你用了CodeIgniter的URL重写(去掉index.php),你的.htaccess文件可能会不小心拦截静态资源的请求。确保你的.htaccess里有排除静态资源目录的规则,比如:

    RewriteEngine On
    # 排除assets、uploads等静态资源目录
    RewriteCond %{REQUEST_URI} !^/(assets|uploads)/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    

    这样服务器会直接处理assets目录下的文件请求,不会转发到CodeIgniter的入口文件。

  • 检查CodeIgniter的安全配置
    确认你没有在application/config/config.php里设置了过于严格的base_url,或者启用了限制静态资源访问的安全规则。比如base_url应该设置为http://127.0.0.1/,而不是http://127.0.0.1/admin/,否则会导致静态资源路径拼接错误。

按照上面的步骤逐一排查,应该就能解决这个连接拒绝的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:23:31