手机端刷新总是 404?你需要知道 SPA Fallback 规则
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
问题论坛上线后,在电脑上浏览一切正常——点击链接跳转、前进后退都没问题。但用手机打开,上滑刷新页面时,浏览器直接显示 404 Not Found。 奇怪的是,同一个页面在电脑上刷新是正常的,为什么手机端不行? 排查手机端上滑刷新,本质上是浏览器重新向服务器请求当前 URL。比如用户在 问题来了——Vercel 服务器上根本没有 那为什么电脑端点击链接跳转没问题?因为点击链接是 Vue Router 在浏览器端做的“假”页面切换,根本没有向服务器发请求。所以不会触发 404。但刷新页面是浏览器行为,它会绕过前端路由,直接向服务器要文件。 原理单页应用的路由分两种:
服务器收到请求后,发现没有对应的文件,就返回 404。这就是根因。 解决在项目根目录的 第二条规则的含义是:所有不以 这样当用户在 总结这个问题本身不复杂,但暴露了一个很容易被忽略的部署细节:单页应用必须配置 SPA Fallback 规则。不管是 Vercel、Netlify 还是 Nginx,都需要告诉服务器:找不到文件时,把 以后再搭新项目,这个规则应该在第一次部署时就配好,而不是等用户反馈 404 了再去修。不同平台的配置方式不同,但核心思路都一样:
这就是这次踩坑学到的东西——不是修了一个 Bug,而是补齐了一个部署常识。 该文章在 2026/6/5 12:05:49 编辑过 |
关键字查询
相关文章
正在查询... |