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请求。注意,这里是重写,重写,重写,不是转发。

参考

相关推荐
Dorcas_FE1 小时前
【tips】动态el-form-item中校验的注意点
前端·javascript·vue.js
四岁爱上了她2 小时前
input输入框焦点的获取和隐藏div,一个自定义的下拉选择
前端·javascript·vue.js
湖边看客4 小时前
antd x6 + vue3
开发语言·javascript·vue.js
Cassie燁4 小时前
element-plus源码解读1——useNamespace
前端·vue.js
Cassie燁6 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
北极糊的狐6 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
一 乐7 小时前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
北极糊的狐7 小时前
父组件向子组件传参时,传递数组和对象类型的参数的方法
前端·javascript·vue.js
爱泡脚的鸡腿9 小时前
uni-app D6 实战(小兔鲜)
前端·vue.js
北极糊的狐9 小时前
Vue3 中父子组件传参是组件通信的核心场景,需遵循「父传子靠 Props,子传父靠自定义事件」的原则,以下是资料总结
前端·javascript·vue.js