如何配置 Nginx 解决前后端分离架构下前端 history 路由刷新出现 404 的典型问题

阿浩君_7575

阿浩君_7575

2026-04-21

201人浏览

原创

nginx 配置 try_files $uri $uri/ /index.html; 可解决 history 模式下刷新 404 问题:优先匹配静态文件或目录,否则返回 index.html 交由前端路由处理;配置后需 nginx -t 验证并 nginx -s reload 重载。

如何配置 nginx 解决前后端分离架构下前端 history 路由刷新出现 404 的典型问题

这个问题很常见,核心在于:history 模式下,前端路由路径(如 /user/profile)并不对应服务器上真实存在的文件,而 Nginx 默认只按路径找静态资源。一刷新,它就去请求 /user/profile 这个“不存在的文件”,自然返回 404。

理解为什么只有 history 模式会出问题

hash 模式(URL 带 #)能直接运行,是因为浏览器不会把 #/user/profile 发给服务器——服务器只收到根路径(如 /),总能返回 index.html,后续路由由 JS 处理。history 模式去掉了 #,URL 看起来像后端路由,但实际仍是单页应用,所有路由逻辑都在前端完成。所以服务器必须“兜底”,把所有非静态资源请求都导向 index.html。

关键配置:在 location 块中添加 try_files

打开你的 Nginx 配置文件(通常是 /etc/nginx/conf.d/your-site.conf 或 /www/server/nginx/conf/nginx.conf),找到对应的 server 块里的 location / 区域,加入这一行:

try_files $uri $uri/ /index.html;

这行指令的意思是:

  • 先检查请求路径是否对应一个真实存在的文件($uri),有就直接返回;
  • 没有的话,再检查是否为目录($uri/),是就尝试返回该目录下的索引页;
  • 都找不到,就统一返回 /index.html,交由前端路由接管。

完整示例片段:

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载

location / {
  root /www/wwwroot/your-project/dist;
  index index.html;
  try_files $uri $uri/ /index.html;
}

配置后务必验证并重载

别跳过这步,否则修改无效:

  • 检查语法是否正确:nginx -t,提示 success 才算通过;
  • 平滑重载配置:nginx -s reload;
  • 如果用宝塔面板,修改前建议暂时停用“Nginx 防护插件”,它可能拦截或覆盖自定义配置导致 nginx -t 报错;
  • 确认 dist 目录路径、root 和 index 的值与你实际部署结构一致。

补充建议:加一层前端 404 路由兜底

Nginx 的 try_files 解决了“找不到页面”的问题,但不能替代前端路由的错误处理。建议在 React Router(v6+)中配置通配路由:

{ path: '*', element: }

这样当用户访问一个前端没定义的路径(比如 /xyz123),页面不会白屏或跳转异常,而是展示友好的 404 页面。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

前端 nginx 路由

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2423

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6290

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5666

10

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2423

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5243

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6290

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5858

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

843

5

nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

403

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程