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

React Router 线上站点部分页面路由失效问题咨询

问题根因

这是单页应用(SPA)静态部署的典型共性问题:
本地执行npm start启动的内置开发服务,默认会对所有路由请求 fallback 到根路径的index.html,所以所有路由均可正常访问;打包后的静态资源部署到线上时,Web 服务器默认会按请求路径匹配对应的实体静态文件,/about、/projects这类前端路由没有对应的实际 HTML 文件,直接访问就会返回404,从404页返回后路由状态异常也和服务端未做正确重定向有关。

修复方案
  • Nginx 部署场景:修改站点配置的 location 规则,添加 fallback 配置即可:
location / {
  try_files $uri $uri/ /index.html;
}
  • 静态托管平台部署场景(GitHub Pages、Vercel、Netlify等):
    • GitHub Pages:在项目public目录下新建_redirects文件,写入内容/* /index.html 200,打包时该文件会自动同步到产物目录
    • 其他托管平台:平台默认已支持SPA路由重定向,若仍失效可在平台后台自定义配置路由规则,将所有请求重定向到根路径index.html
  • 临时兜底方案:如果暂时无法修改服务端/托管平台配置,可将前端路由模式从 BrowserHistory 改为 HashHistory,路由路径会自动带上#前缀,所有路由解析都在前端完成、不会发送到服务端,即可规避该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:09:02