Vue 项目中 history 路由模式的使用

news2024/9/26 5:24:31

在最近帮客户开发的一个项目中,由于项目的特殊性,需要用到 Vue 中的 history路由模式。该模式使用时会涉及到“上传白屏”和“刷新 404 问题”。在帮助客户解决这两个问题的过程中,总结问题的解决方案并记录下来,希望能够保留这篇文档,以备将来遇到同样问题可以顺利解决。

【项目环境】

项目域名:https://www.is.capital测试服务器:Tomcat
运营服务器:Nginx(宝塔面板)

【为什么要使用 history 路由模式】

起初项目开发过程中使用的是 hash 路由模式,在第一次上传测试服务器让客户浏览时,客户说无法看到页面。该项目面对的是境外澳洲的最终用户,在国内都可以顺利看到页面的前提下,我猜测是境外无法看到国内域名末尾带有#的项目。
尽管该结论并没有得到最终明确的论证,但是我决定使用 history 模式尝试一下。当将路由模式改为
history 之后,客户反映在境外可以看到该项目的页面了。

【上传白屏问题】

测试服务器是我自己购买的一个服务器,该服务器上有许多项目存在,因此我在服务器根目录下创建了一个名为 security2 的子目录,用来存放该客户的项目。上传白屏就是由于这个子目录导致的。
在这里插入图片描述
结论:若项目上传至服务器的二级目录下,则需要在路由文件中将二级目录名由 base 属性指定。
例如:本次开发过程中,项目上传至了测试服务器的二级目录 security2 中,则路由文件\router\index.js
的配置如下所示。
const router = new VueRouter({ mode:“history”,
base:“/security2”, // 将服务器的二级目录名作为路由的基地址
routes
});

【刷新 404 问题】

使用 history 路由模式开发的项目,除了首页以外,其他子页面在刷新时会出现 404 错误。该问题的解决需要后台服务器的设置才能完成。本项目的针对测试服务器和运营服务器均进行了相应的调整。
1、Tomcat 服务器:
在后台的项目跟目录下,找到下列文件:
webapps\security2\WEB-INF\web.xml

在该文件中添加下列代码:

<location>/security2/index.html</location>

在这里插入图片描述
2、Nginx 服务器:
最终的运营服务器客户选择了宝塔面板的 Nginx 服务器。该服务器要修改以下两个配置文件。
(1)nginx.conf 配置文件:
/www/server/nginx/conf/nginx.conf
(2)多域名配置文件:
/www/server/panel/vhost/nginx/域名.conf
将上述两个文件在宝塔面板找到,添加下列内容。
location / {
try_files $uri $uri/ /index.html;
}
现将宝塔面板Nginx 服务器的设置方式截图如下。

nginx.conf 文件的路径
在这里插入图片描述
多域名配置文件的路径
在这里插入图片描述
可以选择将上述两个文件通过右侧的“下载命令”下载至本地进行编辑,再上传至宝塔面板。也可以直接单击右侧的“编辑”命令,通过宝塔面板自身提供的在线编辑器进行更改。

通过在线编辑器更改服务器配置的截图如下所示。

宝塔面板的在线编辑器
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1914606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树

目录 1 -> 红黑树 1.1 -> 红黑树的概念 1.2 -> 红黑树的性质 1.3 -> 红黑树节点的定义 1.4 -> 红黑树的结构 1.5 -> 红黑树的插入操作 1.6 -> 红黑树的验证 1.8 -> 红黑树与AVL树的比较 2 -> 红黑树模拟实现STL中的map与set 2.1 -> 红…

私域流量新纪元:解锁电商增长新引擎

一、私域流量的战略价值再审视 在数字化转型的浪潮中&#xff0c;流量已成为企业生命力的源泉。相较于公域流量的广泛而难以深度触及&#xff0c;私域流量以其独有的专属性和高复用性&#xff0c;为企业搭建起通往用户内心的桥梁。它不仅赋予企业精准营销的能力&#xff0c;还…

Qt:11.输入类控件(QLineEdit-单行文本输入控件、QTextEdit-多行文本输入控件、QComboBox-下拉列表的控件)

一、QLineEdit-单行文本输入控件&#xff1a; 1.1QLineEdit介绍&#xff1a; QLineEdit 是 Qt 库中的一个单行文本输入控件&#xff0c;不能换行。允许用户输入和编辑单行文本。 1.2属性介绍&#xff1a; inputMask 设置输入掩码&#xff0c;以限定输入格式。setInputMask(con…

C#知识|账号管理系统:数据库查询账号类别动态绑定到下拉框。

哈喽,你好啊,我是雷工! 本节学习如何将数据库中账号类别动态添加到下拉框列表中。 以下为学习笔记。 01 类型表 SQLServer数据库LGAccountManagentDB中AccountType表的数据内容为: 该数据库及数据表的创建可以查看: 《 数据库|基于T-SQL创建数据表(练习笔记)》 更多关于…

(一)项目实践-利用Appdesigner制作目标跟踪仿真软件

目录 前言 一、软件页面设计 二、仿真部分 &#xff08;一&#xff09;参数输入 &#xff08;二&#xff09;绘图部分 &#xff08;三&#xff09;目标追踪程序 总结 前言 本博客有一个专栏用来介绍有关MATLAB中的Appdesigner的操作以及使用&#xff0c;本文是为了深化读者对于…

动态规划专题一 斐波那契数问题

目录 题一 最小花费爬楼梯 1、算法解析 1&#xff09;确定状态&#xff1a; ​编辑2&#xff09;状态转移方程&#xff1a; ​编辑3&#xff09;初始化&#xff1a; 4&#xff09;填表顺序&#xff1a; 5&#xff09;返回值&#xff1a; 2、代码 题二 第N个泰波那锲数 …

Git 命令行快速入门

前言 &#xff08;1&#xff09;新手个人建议使用TortoiseGit这类图形化界面来上手学习。 &#xff08;2&#xff09;如果一定需要用命令行进行操作&#xff0c;可以按照B站&#xff1a;程式与网页开发者必备技能&#xff01;Git 和 GitHub 零基础快速上手&#xff0c;轻松掌握…

odoo模型继承

odoo模型继承 模块化是Odoo一个非常重要的功能。一个模块通常定义一块业务内容&#xff0c;模块之间是可以交互的。所以从已有模块中去继承修改原有模块功能就很有必要。 Odoo中&#xff0c;模型之间也定义了一套继承的逻辑&#xff0c;目前有三种继承方 式&#xff1a; 1、…

学习测试7-ADB的使用

ADB是什么&#xff1f; ADB&#xff0c;即 Android Debug Bridge&#xff08;安卓调试桥&#xff09; 是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具&#xff0c;它可为各种设备操作提供便利&#xff0c;如安装和调试应用&#xff0c;并提供对 Unix shell&…

ScrapySharp框架:小红书视频数据采集的API集成与应用

引言 随着大数据时代的到来&#xff0c;数据采集成为了互联网企业获取信息的重要手段。小红书作为一个集社交和电商于一体的平台&#xff0c;其丰富的用户生成内容&#xff08;UGC&#xff09;为数据采集提供了丰富的资源。本文将介绍如何使用ScrapySharp框架进行小红书视频数…

FLinkCDC引起的生产事故(二)

背景&#xff1a; 最近在做实时数据的抽取工作&#xff0c;利用FLinkCDC实时抽取目标库Oracle的数据到Doris中&#xff0c;但是在抽取的过程中&#xff0c;会导致目标库的生产库数据库非常卡顿&#xff0c;为了避免对生产环境的数据库造成影响&#xff0c;对生产环境的数据库利…

BJT交流分析+共发射极(CE)放大器+单片机的中断系统(中断的产生背景+使用中断重写秒表程序+中断优先级)

2024-7-10&#xff0c;星期三&#xff0c;16:58&#xff0c;天气&#xff1a;阴&#xff0c;心情&#xff1a;晴。今天终于阴天啦&#xff0c;有点风凉快一点了&#xff0c;不然真要受不了了&#xff0c;然后没有什么特殊的事情发生&#xff0c;继续学习啦&#xff0c;加油加油…

物流数据分析成本利润计算软件,佳易王物流货运单管理系统操作教程

前言&#xff1a; 物流数据分析成本利润计算软件&#xff0c;佳易王物流货运单管理系统操作教程 以下软件操作教程以&#xff0c;佳易王物流单统计分析软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 一、软件操作教程 1、佳易王物流货运…

原生小程序生成二维码方法之一

效果图&#xff1a; 第一步&#xff1a;下载对应的包并构建&#xff08;工具---》构建npm&#xff09; npm install weapp-qrcode --save 第二步&#xff1a;在wxml页面声明canvas <canvas style"width: 200px; height: 200px;margin:0 auto;" canvas-id"myQ…

【QT】QComboBox允许输入查询,且不区分大小写

目录 0.简介 1.环境 2.详细代码 3.参考 0.简介 项目需求&#xff0c;原本有一个下拉框&#xff0c;但是条目太多&#xff0c;不好搜索&#xff0c;所以用户要求可以输入查找 修改前 &#xff1a; 修改后&#xff1a; 1.环境 windows11 vs-code qt5.12 2.详细代码 QComboB…

常用网络概念

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ​​ 目录 了解组织 局域网技术 …

将文档做成试卷生成小程序

&#x1f449;将文档题库导入&#xff0c;轻松开启题目随机组卷&#xff0c;生成考试试卷 &#x1f449;创建考试&#xff0c;从题库中抽取试题&#xff0c;配置分值&#xff0c;组成标准的试卷 &#x1f449;如果想要在线组织答题考试的话&#xff0c;进入到考试详情页面&…

大数据信用评分太低,是什么原因引起的?

在大数据时代&#xff0c;个人的大数据信用评分变得尤为重要。它不仅影响着我们能否顺利地获得贷款、信用卡等金融服务&#xff0c;还在很多方面影响着我们的日常生活。那么&#xff0c;哪些原因可能会导致我们的大数据信用评分降低呢?本文将对此进行详细的总结&#xff0c;一…

从0开始搭建Spring-Cloud若依项目开发环境

文章目录 1. 安装Java开发环境配置环境变量 2. Maven安装环境变量配置setting文件配置 3. MySQL安装与配置环境变量配置配置MySQLNavicat配置Idea配置 4. redis安装配置1. 下载Redis安装包2. 安装Redis3. 启动Redis服务4. 配置Redis 5. Nacos环境修改配置文件启动Nacos服务服务…

数一140+上岸|七月强化一定要避开这3个雷区!

当然可以&#xff0c;强化阶段的主要任务就是做题&#xff01; 但是不用一刀切&#xff0c;强化阶段听课和做题可以二八原则&#xff0c;就是听课占20%&#xff0c;做题占80%。 因为自己去自学讲义的话&#xff0c;比如张宇18讲&#xff0c;会漏掉一些重点&#xff0c;有的技…