vue被部署到子(二级)目录
需求
有的时候,你的域名很珍贵,除了二级域名外。
你还可以将你的项目部署在服务器二级目录下,这样的话,就可以部署多个项目了。
比如说,我有一个域名为dshvv.com的服务器,我想部署两个项目:
12306项目:http://dshvv.com/12306
淘宝项目:http://dshvv.com/taobao
问题
普通项目不会有问题,
但是如果是单页项目,而且单页项目的路由用的是history模式,不管是vue还是react都会出现一个问题
那就是“刷新当前页面404”
这是因为这种(history)模式会被错误的认为向服务端发出了真请求,但是其实这这是前端路由变化,后端自然也没做好相应你的处理,所以就404了
解决
前端配置
vue.config.js增加如下配置:
publicPath: '/caspage/'
路由配置如下:
const router = new VueRouter({
mode: 'history',
base:'/caspage/',
routes
})
后端nginx.conf配置如下:
server {
listen 8001;
location / {
# vue h5 history mode 时配置
try_files $uri $uri/ /index.html;
root html/caspage;
index index.html index.htm;
}
}
# 再到配置域名的主配置server上做反向代理
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
# vue-router的history模式下,刷新页面404处理
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
然后重新启动就行了
参考:https://www.cnblogs.com/liugx/p/9336176.htmlnginx安装与配置
参考本文
如果二级页面刷新依然白屏
这样处理
location /xxpage {
alias /data/html/pagedir/;
index index.html;
try_files $uri $uri/ @xxpage_action;
}
location @xxpage_action {
rewrite ^.*$ /pagedir/index.html last;
}
项目代码就在根目录下
location / {
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
vue被部署到子(二级)目录的更多相关文章
- vue通过(NGINX)部署在子目录或者二级目录实践
1.修改 router/index.js 添加一行 base: 'admin', 2.然后修改 config/index.js 增加一行 const assetsPublicPath = '/admi ...
- vue history 模式打包部署在域名的二级目录的配置指南
最近在做项目,需要把项目部署在域名下的二级目录,并且是在用vue-router的history 模式. 我们都知道vue-router 的两种前端基本访问模式 hash 和history .hash ...
- K8s nginx-ingress 如何配置二级目录转发远程静态服务器基于Vue路由history模式打包的应用程序
背景 首先这标题有点绕,我先解释下: 首先我们有静态服务器,上面某个目录有Vue路由history模式打包的应用程序(也就是build后的产物): 但是静态服务器一般不做对外域名用的,我们需要在k8s ...
- vue配置二级目录&vue-axios跨域办法&谷歌浏览器设置跨域
一.根据官方建议,dist打包的项目文件放在服务器根目录下,但是很多时候,我们并不能这样做,当涉及到二级目录设置多层深埋的时候,就需要在webpack配置文件里去设置一下了. 在webpack.con ...
- 修改vue的配置项支持生产环境下二级目录访问的方法
本文主要记录如何配置vue的打包文件配置项,使打包后的文件可以支持二级目录的访问. 1.常规打包 在实际的项目中,我们通常都使用 npm run build 直接打包文件后丢到服务器上访问 打包后的文 ...
- Vue项目部署问题及解决方案
Vue项目部署问题及解决方案 Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式. hash:也就是地址栏里的 # 符号.比如 http://www.examp ...
- Vue项目部署遇到的问题及解决方案
写在前面 Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式. hash:也就是地址栏里的 # 符号.比如 http://www.example/#/hello ...
- Nginx配置二级目录/路径 映射不同的反向代理和规避IP+端口访问
当配置Nginx来映射不同的服务器 可以通过二级路径来反向代理 来解决一个外网端口实现多个服务访问. 配置如下: server { listen ; server_name demo.domai ...
- nginx配置二级目录,反向代理不同ip+端口
场景描述: 通过二级目录(虚拟目录,应用程序)的方式访问同一ip+端口的不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192.168.1 ...
- 用jquery实现文章自动生成二级目录(续)
前文:用jquery实现文章自动生成二级目录. 使用方法的补充 我们可以把我们的js和css上传到博客园,然后在页面HTML代码中使用他们. 发现的一些问题 在我把我的js放到自己的博客园上运行之后发 ...
随机推荐
- Cursor:一个让程序员“失业”的AI代码搭子
Tab,Tab,再来一次 Tab 在当今AI工具横飞的时代,用一款好用的AI编码工具会让你的效率成倍增长. 上篇我们刚试过国内的Trae工具写了一个简单的demo,表现的中规中矩吧.Trae可以尝试写 ...
- webapi——Postman添加post请求测试
1.设置Post格式 2.设置传值方式json 3.设置参数 4.发送请求
- Dify+DeepSeek实战教程!企业级 AI 文档库本地化部署,数据安全与智能检索我都要
上次折腾完 DeepSeek 的本地私有化部署后,心里就一直琢磨着:能不能给咱们 Rainbond 的用户再做点实用的东西?毕竟平时总收到反馈说文档查找不够方便,要是能有个 AI 文档助手该多好.正想 ...
- HttpServletRequest相关
简介 获取客户端请求头及参数 获取提交给服务器的中文数据 简介 这个对象封装了客户端提交过来的一切数据. 获取客户端请求头及参数 package com.zhujunwei.httpServletRe ...
- 【记录】C语言|获取其他文件的绝对路径转为相对路径的两种代码
GetModuleFileName获取当前程序的绝对路径.然后对比再strcat之类的. 只能获得同一盘符下的相对路径: #include <string.h> /*pa是绝对路径,rel ...
- TVM图级优化了解
TVM图级优化按照优化范围,可分为局部优化和全局优化 局部优化是TVM图级优化的重点,其中算子融合是AI编译器必不可少的优化方法. 算子融合核心思想就是将多个算子合并成一个内核,因而无需将中间结果写回 ...
- 球体的顶点与索引创建方法----以WebGL为例
上图,左图为一个球体的三维图,其中一个圆面以θ角(范围为[0,PI])的方式确定,该圆面在x-z坐标平面投影如右图,其中圆面上任意一点又由α确定(范围为[0,2PI]). 假定该球体半径为r,那么球面 ...
- Manim动画渲染:从代码到屏幕的幕后故事
Manim是一个强大的动画制作库,它能够将简单的Python代码转化为精美的动画视频. 你是否好奇过,当你运行Manim代码时,背后的魔法是如何发生的呢? 今天,将重点介绍渲染过程中的三个关键步骤:S ...
- python解析身份证获取年龄、出生日期、性别
import re import datetime def parse_id_card(id_card): # 获取身份证号中的出生年月日和性别和年龄 birthday_pattern = re.co ...
- ctf知识积累
(1)url解码: python解码函数: from urllib.parse import unquote(quote:编码) url_code="" url_code1=unq ...