AWS Cloudfront支持vuejs的html5模式

前提

  • 1.vuejs项目使用html5模式;
  • 2.vuejs项目独立部署在一个s3桶中;
  • 3.vuejs项目独立使用一个AWS Cloudfront的CDN。

解决

只需要在Cloudfront中添加一个函数,大概规则就是如果从请求uri中提取到文件名,则表示需要访问s3,如果没有则重写到/index.html请求。

具体函数内容如下:

javascript 复制代码
function handler(event) {
	var request = event.request;
	if (request.uri.match(/\/[^./]+\.[^./]+$/) === null) {
		request.uri = "/index.html";
	}
	return request;
}

具体怎么样在AWS Cloudfront中设置函数,可以参考AWS CloudFront使用js函数实现重定向

总结

vuejs的html5模式就是但没有发现文件名就重写到/index.html请求。注意,这里是重写,重写,重写,不是转发。

参考

相关推荐
LilyCoder1 分钟前
HTML5二十四节气网站源码
前端·javascript·html·html5
nyf_unknown4 分钟前
(vue)将文件夹打成tar包, Git Bash(推荐)具体使用
vue.js·git·bash
EF@蛐蛐堂29 分钟前
【vue3】v-model 的 “新玩法“
前端·javascript·vue.js
两个月菜鸟38 分钟前
vue+微信小程序 五角星
前端·vue.js·微信小程序
weixin_307779132 小时前
AWS Lambda解压缩S3 ZIP文件流程
python·算法·云计算·aws
Warren986 小时前
Lua 脚本在 Redis 中的应用
java·前端·网络·vue.js·redis·junit·lua
帧栈10 小时前
开发避坑指南(27):Vue3中高效安全修改列表元素属性的方法
前端·vue.js
练习前端两年半16 小时前
🚀 Vue3 源码深度解析:Diff算法的五步优化策略与最长递增子序列的巧妙应用
前端·vue.js
Cheney950117 小时前
TypeScript 中,! 是 非空断言操作符
前端·vue.js·typescript
浊浪载清辉18 小时前
基于HTML5与Tailwind CSS的现代运势抽签系统技术解析
前端·css·html5·随机运签·样式技巧