← AI 百科

部署后页面 404

报错库 · 报错 / 部署 / 前端
一句话:网站部署成功但访问某些页面报404,常见原因是路由配置不对、构建输出路径不匹配,或者是单页应用刷新页面路由处理不当。

它是什么

本地开发能正常访问的页面,部署到线上却404,通常不是内容真的丢了,而是服务器/托管平台不知道该怎么把这个URL对应到正确的文件——尤其是前端单页应用(SPA)用了前端路由,服务器需要额外配置把所有路径都指向index.html。

适合干什么

  • 单页应用部署后刷新非首页路径报404
  • 静态网站部署路径和实际访问路径不一致

不适合干什么

  • 页面本身内容真的不存在(那是内容问题,不是部署配置问题)

普通人怎么用

如果是React/Vue这类单页应用,检查托管平台有没有配置"所有路径都返回index.html"(不同平台叫法不同,如Vercel的rewrites、Netlify的_redirects文件);确认部署的构建输出目录设置正确。

进阶用户怎么用

区分是Nginx/服务器层面的路由问题还是前端路由(如React Router)的history模式配置问题;用hash路由(URL带#号)可以规避大部分服务器配置问题,但会牺牲URL的美观度和部分SEO效果。

常见误区

  • 以为404是代码问题,实际大多数时候是部署平台/服务器的路由转发配置没做对
  • 本地开发用 npm run dev 一切正常,就以为生产环境构建也一定没问题,实际开发服务器和生产构建的路由处理方式可能不同

和相似工具的区别

  • 和 server-404(服务器层面配置错误)关系密切:前端SPA的404问题本质也是服务器不知道怎么处理这个路径,解法是让服务器对不存在的静态文件路径统一返回index.html

入门步骤

  • 确认是首页正常、其他路径404,还是所有页面都404
  • 检查托管平台的路由重写/rewrites配置
  • 确认构建输出目录和平台配置的目录一致