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

Vite集成React-Router-Dom部署后直接访问子路由报404

这个问题是静态主机(Netlify)处理SPA路由的典型问题——本地开发时,Vite会把所有路由请求转发到index.html,让React Router处理;但Netlify作为静态服务器,直接访问/admin/result这类子路由时,会尝试在服务器上找对应路径的文件,找不到就返回404。


解决步骤

1. 添加 _redirects 文件

在项目的public目录下新建一个名为_redirects的文件,写入以下内容:

/*    /index.html   200

这个规则会让Netlify把所有请求都转发到index.html,交给React Router来处理路由逻辑。

2. 或者使用 netlify.toml 配置

如果需要统一管理Netlify的部署配置,可以在项目根目录创建netlify.toml文件,添加:

[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

效果和_redirects完全一致,适合有更多部署需求的场景。

补充:你的前端路由配置没问题

看你的App组件代码,已经正确使用了BrowserRouter,并且给父路由(比如/admin/*)设置了通配符,这部分是符合SPA路由要求的,只需要配置Netlify的转发规则就能解决直接访问子路由404的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:09:51