单页应用前端路由 /user/123 刷新时,Nginx 找不到文件会 404。兜底回 index.html 让前端接管。

示例配置

location / {
    try_files $uri $uri/ /index.html;
}

要点速览

  • try_files 最后一项写 /index.html,未知路径都交给前端路由。
  • 纯静态多页站不要这么配,否则真 404 也会被吞成首页。
  • 配了兜底要留意 SEO,需服务端渲染或预渲染补索引。
SPA 的 404 兜底是把「找不到文件」改成「交给前端路由」。