单页应用history模式nginx配置
前言
hash 模式时将路径转换为 /#/xxx/xxx
模式,页面不刷新,请求资源路径不变,从而实现内容的跳转。
history 模式直接去掉了 /#/
,如果服务器不配置的话,直接就是 404。
服务器实现 history 模式的原理:
只要请求某个应用下的资源,都返回这个应用的入口回去(index.html),路径什么的都交给入口处理。
实现
nginx 有很多方法都能实现这个功能,这里介绍通过 error_page 实现的方法
以 vue 为例:
通过 error_page
- vue 路由基础路径设置
// xxx.com 直接访问应用时无需修改 base
const router = new VueRouter({base: process.env.BASE_URL,mode: 'history'/* ... */
})
// xxx.com/xxx 访问应用时需修改 base
const router = new VueRouter({base: '/demo',mode: 'history'/* ... */
})
- vue 根路径配置
history 模式下不能使用相对路径
./
,因为 history 模式下路径不是以 /#/ 表示,使用相对路径会使路径出错导致某些资源 404
// xxx.com 直接访问应用时设为 /
module.exports = {publicPath: '/',/* ... */
}
// xxx.com/xxx 直接访问应用时设为 xxx/
module.exports = {publicPath: 'demo/',/* ... */
}
- nginx 配置
# 根据实际情况设置一下 root
# 可以写 location 外面(全局),也可以写 location 里面(局部)
root /www/server/nginx/html;
# xxx.com 访问应用
location / {index index.html;error_page 404 /index.html;
}
# xxx.com/xxx 访问应用
location /demo {index index.html;error_page 404 /demo/index.html;
}
利用 error_page 的特性,只要是 404 页面都返回相应的入口文件回去。
通过 try_files
还可以使用 try_files 实现
# xxx.com 访问应用
location / {try_files $uri $uri/ /index.html;
}
还可以使用 rewrite 实现 … nginx NB
单页应用history模式nginx配置相关推荐
- vue history模式Nginx配置
当你使用 history 模式时,url就像正常的url,例如 "http://yoursite.com/mapp/subpage",不过这种模式还需要后台配置支持.因为我们的应用 ...
- history模式 nginx配置_Vue history模式Nginx配置
vue开发使用history模式的时候Nginx相关的配置有如下两种: 1.此种配置直接使用的根域名,没有其他的二级路径,因此root直接指向目标文件夹,即包含index.html的文件夹路径 ser ...
- history模式 nginx配置_nginx反向代理部署vue项目(history模式)的方法
前言: 根据标题我们要区分出两个信息 1. history 模式部署 ( vue的路由模式如果使用history,刷新会报404错误.) 2. Nginx 做反向代理 问题1思考: vue-route ...
- vue路由history模式,nginx配置
nginx配置内容 # For more information on configuration, see: # * Official English Documentation: http://n ...
- Vue Router history模式的配置方法及其原理
转载地址:https://segmentfault.com/a/1190000019391139 vue-router分为hash和history模式,前者为其默认模式,url的表现形式为http:/ ...
- vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 “invalid signature“错误解决方案
vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 "invalid signature"错误解决方案 参考文章: (1)vue 单页面(SPA) hist ...
- vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题
问题描述 在用vuejs做的SPA单页面应用,router模式为history模式,应用是个商城,在进入商品详情页时,第一次进入页面提示签名无效,手动刷新一下就ok,很是烦躁,经过不懈努力,终于解决. ...
- vue-router路由history模式+nginx部署项目到非根目录下(实践版)
你总是心太软心太软 独自一个人研究到天亮 你无怨无悔的疯狂找寻 我知道你根本没那么坚强 你总是心太软心太软 把所有问题都自己扛 问题总是太多解决太难 不是你的就别再勉强 夜深了你还不想睡 你还在想着他 ...
- 解决 VUE history模式 后端配置 微信支付目录限制5个 等问题
前言 作为小公司的WEB开发组组长, 本身为全栈工程师, 主攻方向为PHP. 最近将项目由MVC模式改为了MVVM, 做为小公司的为了节省成本, 招聘了一个新手前端, 编写VUE 新手的技术,无奈并不 ...
最新文章
- CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式
- ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
- QT的QInputDialog类的使用
- HDU 3397 线段树 双懒惰标记
- LeetCode 1020. 飞地的数量(图的BFS/DFS)
- 【华为云技术分享】《跟唐老师学习云网络》 - Tcpdump大杀器抓包
- Wow-JPack发布0.4.0
- WAP网站制作(WAP网站建设)全攻略教程一
- GooFlow有后门代码
- arcmap拓扑错误检查器不亮_ARCGIS拓扑检查步骤与修正拓扑错误技巧
- 游戏场景设计探究:冬夏季节光色模型
- 批量去除Word的向下小箭头
- 我所佩服的古人——乐毅
- luogu p4556 [Vani有约会]雨天的尾巴 树上差分,最近公共祖先,线段树合并
- 嵌入式面试之————大小端
- 西游记中泾河龙王泄露天机惨遭砍头,而袁守诚为何安然无恙
- css浮动清除以及BFC
- 【目标检测 论文精读】……YOLO-V2 YOLO9000 ……(YOLO9000: Better, Faster, Stronger)
- SplitIt视频文件快速分割工具操作技巧
- 基于NIO 的轻量级高性能的websocket服务器
热门文章
- 群晖NAS教程(十六)、利用Docker安装GitLab管理代码工具
- jpg照片怎么压缩?改变jpg文件大小?
- Python 调用 HTTP API 接口模板
- 如何解释 Minitab 运行图的主要结果?
- 【Copula】基于二元Frank-Copula函数的风光出力场景生成方法【考虑风光出力的不确定性和相关性】(Matlab代码实现)
- 设计模式之工厂方法模式---factory method
- 模拟器飞行训练-2022.12.1
- Verilog的常用testbench模板分享
- EJB 3 术语汇编
- Windows sqlite3 安装使用+ 1SQLiteDeveloper 可视化查看