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

React单页应用部署至Firebase后刷新任意页面出现404错误如何处理

该文件不存在,且当前目录下未找到index.html,根目录中也不存在404.html。
您可能为应用部署了错误的目录,请检查firebase.json配置,确认public目录指向的文件夹包含index.html文件。
您也可以在站点根目录添加404.html文件,使用自定义错误页面替换当前默认提示页。

问题原因

React单页应用使用客户端路由逻辑,所有页面渲染逻辑都由入口index.html加载的JS代码控制。Firebase默认的静态文件服务逻辑会直接匹配请求路径对应的真实文件,刷新非首页路径时没有对应的静态文件存在,就会触发404报错。

解决方案

步骤1:验证基础配置正确性

  • 检查项目根目录下的firebase.json中public配置项,确认指向的是React项目打包后的输出目录,默认为build文件夹
  • 确认上述目标文件夹下存在打包生成的index.html文件

步骤2:添加重定向规则(核心修复)

在firebase.json的hosting配置块下添加rewrites规则,将所有请求全部重定向到入口index.html,完整配置示例如下:

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

配置修改完成后重新执行firebase deploy部署即可生效。

可选配置:自定义404页面

如果需要替换默认404提示页,可以在public指向的目录(即build文件夹)中新增404.html文件,部署后Firebase会优先展示该自定义错误页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:24:01