如何解决前端History模式下页面刷新404故障教程

大瑶同学_2565

大瑶同学_2565

2026-06-04

418人浏览

原创

本质是服务器找不到对应路径的文件,因history模式下/user/profile为前端路由而非真实资源;解决关键是配置服务器对所有非资源请求兜底返回index.html,由前端js再次解析路由。

如何解决前端history模式下页面刷新404故障教程

刷新就 404,本质是服务器找不到对应路径的文件——因为 History 模式下的 /user/profile 是前端路由,不是真实存在的后端接口或静态资源。解决的关键,是让服务器对所有非资源请求“兜底”返回 index.html,交由前端 JS 再次解析路由。

确认前端已启用 History 模式

这是前提,否则后续配置无效:

  • Vue Router 3:检查 mode: 'history';Vue Router 4+(Vue 3):确认使用 createWebHistory()
  • React Router v6:createBrowserRouter 默认即为 History 模式,无需额外设置
  • 构建产物中必须存在 index.html,且 JS/CSS 资源引用路径正确(如 /assets/index.xxxx.js,不是相对路径 ./assets/...)

Nginx 配置核心:try_files 兜底规则

在站点 server 块的 location / 区域添加这一行:

nginx-0.5.38
nginx-0.5.38

Nginx是一款高性能的开源软件,由俄罗斯开发者Igor Sysoev于2004年创建。它最初设计为高效的HTTP Web服务器,现已成为最受欢迎的Web服务器之一。Nginx以事件驱动、非阻塞I/O架构著称,能以极低内存占用处理数万并发连接,特别适合高流量场景。它同时担任反向代理、负载均衡器、HTTP缓存、TCP/UDP代理等多重角色,常用于静态文件服务、SSL终止、请求转发、API网关和微服务

下载

try_files $uri $uri/ /index.html;

  • $uri:优先匹配真实文件(.js、.css、图片等),命中则直接返回
  • $uri/:再尝试匹配目录(如请求 /api/ 时避免误 fallback)
  • /index.html:以上都不匹配时,统一返回根目录下的 index.html(注意开头斜杠,表示绝对路径)
  • 确保 root 指向你实际的构建输出目录(如 /www/wwwroot/myapp/dist)

API 接口需单独配置,避免被兜底干扰

如果你的前端也调用后端 API(如 /api/login),必须在 location / 之前,用独立的 location ^~ /api/ 块做反向代理:

  • 写法示例:location ^~ /api/ { proxy_pass http://127.0.0.1:8080/; }
  • ^~ 表示前缀匹配且优先级高于正则,防止被后面的 location / 的 try_files 拦截
  • 不要把 API 和前端混在同一个 location 下,否则 /api/xxx 会被当成不存在的文件而 fallback 到 index.html

验证与上线前必做三步

  • 运行 nginx -t:语法检查,提示 success 才算通过
  • 执行 nginx -s reload:平滑重载配置,不中断服务
  • 手动测试三种典型场景:
    ✅ 输入 / 并刷新 → 应正常显示首页
    ✅ 输入 /user/profile 并刷新 → 应加载前端路由页,而非 404
    ✅ 输入 /api/user(或任意真实 API)→ 应返回后端数据,而非 HTML

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

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx配置

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

相关专题

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

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

2023.08.11

2543

5

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

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

2023.10.09

5483

6

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

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

2024.03.19

6510

13

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

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

2024.03.22

6138

10

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

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

2024.05.22

863

5

nginx 重启
nginx 重启

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

2023.07.27

403

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3627

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

6345

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

581

5

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.8万人学习