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

React Vite部署Vercel后回调路由出现404错误的解决方法

解决Vercel部署React Vite SPA后/callback路由404的问题

核心原因

Vercel默认会把所有路径请求当作静态资源查找,而你用的createBrowserRouter是前端路由,当Spotify重定向到/callback时,Vercel服务器找不到对应的静态文件,直接返回404,不会交给React处理路由。

解决方案

1. 添加Vercel路由重写配置

在项目根目录创建vercel.json文件,写入以下内容:

{
  "rewrites": [
    { "source": "/(.*)", "destination": "/index.html" }
  ]
}

这个配置会让Vercel把所有路径的请求都转发到index.html,交给React Router处理前端路由,包括/callback。

2. 确认配置文件被正确部署

  • 检查.gitignore或.vercelignore,确保没有排除vercel.json,否则部署时不会上传这个文件。
  • 部署后可以在Vercel控制台的「Settings → Rewrites」里看到配置是否生效。

额外排查点

  • 再次确认Spotify开发者后台的redirect_uri是完全匹配Vercel的HTTPS域名(比如https://project.vercel.app/callback),本地用HTTP但部署后必须用HTTPS,大小写也要一致。
  • 检查React Router的注册是否正确,确保你的根组件里用了<RouterProvider router={router} />包裹整个应用。
  • 查看Vercel的部署日志,确认vercel.json被加载,日志里会显示Loaded config from vercel.json的提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:25:09