Vue History模式的Nginx配置

前言

  • vue-router有两种模式,hash模式和history模式。
  • 直观区别:hash模式url带#号,history模式不带#号。
  • hash模式:由于hash值变化不会导致游览器向服务器发出请求,所以可以实现前端路由,无需额外的配置。
  • history模式:history模式不仅可以在url里放参数,还可以将数据存放在一个特定的对象中。

history模式存在问题

  • hash兼容IE8以上,history兼容IE10以上;
  • history模式需要后端配合将所有访问都指向index.html,否则用户刷新页面,会导致404错误。

history模式下的Nginx配置

bash 复制代码
    server {
        listen 9023; # 端口号
        index index.html; #通过index来访问index.html
        client_max_body_size 1024m;
        root /vdd/ynk/gicweb/pcweb;  #静态资源的位置
        try_files $uri $uri/ /pro-gic-web/index.html; # history模式配置
   
        #登录接口
        location /login {
            proxy_set_header Host $host; # 传递域名
            proxy_set_header X-Real-Ip $remote_addr; # 传递ip
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Scheme $scheme; # 传递协议        
            proxy_pass http://172.16.22.60:31021;
        }
}

try_files注意事项,

  • /pro-gic-web/index.html,如果有目录或前端,index.html要加上目录或前缀,这里对应的是静态资源地址,否则nginx找不到对应静态资源。
  • 如果没有前缀,资源在要目录下,则不需要前缀,直接配置主入口文件,即index.html
相关推荐
涔溪18 小时前
Vite 和 Webpack 这两款主流前端构建工具的核心区别,包括它们的设计理念、工作机制和实际使用体验上的差异。
前端·webpack·vite
0思必得018 小时前
[Web自动化] 开发者工具元素(Elements)面板
运维·前端·自动化·web自动化·开发者工具
chenhdowue18 小时前
vxe-table 数据校验的2种提示方式
vue.js·vxe-table·vxe-ui
遇到困难睡大觉哈哈18 小时前
Harmony os ——ArkTS 语言笔记(五):泛型、空安全与可选链
前端·笔记·安全·harmonyos·鸿蒙
w***42418 小时前
准确-NGINX 1.26.2配置正向代理并编译安装的完整过程
运维·nginx
b***594318 小时前
在 Ubuntu 22.04 上安装和配置 Nginx 的完整指南
linux·nginx·ubuntu
八哥程序员19 小时前
你真的理解了 javascript 中的原型及原型链?
前端·javascript
冴羽19 小时前
10 个 Nano Banana Pro 专业级生图技巧
前端·人工智能·aigc
7ayl19 小时前
Vue3 - runtime-core的渲染器初始化流程
前端·vue.js
前端老宋Running19 小时前
React 的“时光胶囊”:useRef 才是那个打破“闭包陷阱”的救世主
前端·react.js·设计模式