部署在Netlify的React应用页面刷新出现404错误该如何解决?
React部署Netlify刷新返回404的解决方案
你之前配置不生效的核心原因是 netlify.toml 配置文件必须放在项目根目录(与package.json同级),放在src文件夹下Netlify部署时无法识别加载。
方案1:修正netlify.toml配置
- 将src文件夹下的netlify.toml移动到项目根目录
- 配置内容可保留你原本的写法,针对静态资源的特殊兼容可补充force参数,完整示例:
[[redirects]] from = "/*" to = "/" status = 200 # 设为false时不会重定向真实存在的静态资源文件 force = false
- 修改后重新提交代码触发Netlify部署即可。
方案2:使用_redirects配置(SPA应用优先推荐)
这是Netlify针对单页应用官方适配的轻量配置方案,规则优先级高于netlify.toml:
- 在项目public文件夹下新建无后缀的
_redirects文件 - 写入以下规则即可:
/* /index.html 200
- 提交代码触发重新部署即可生效。
配置生效校验
部署完成后可在Netlify项目后台的重定向规则页查看规则是否被正常识别,能看到你配置的通配符重定向规则即说明配置已生效。
可选兼容方案
如果你不需要严格的URL路径格式,也可以直接将React的路由模式切换为HashRouter,该模式下所有路由都携带#前缀,无需额外配置即可避免刷新404问题。
内容的提问来源于stack exchange,提问作者kim tech
相关产品推荐
相关产品推荐

