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

参考

相关推荐
bitbitDown3 小时前
四年前端分享给你的高效开发工具库
前端·javascript·vue.js
lumi.5 小时前
Vue.js 从入门到实践1:环境搭建、数据绑定与条件渲染
前端·javascript·vue.js
二十雨辰5 小时前
vue核心原理实现
前端·javascript·vue.js
影子信息5 小时前
[Vue warn]: Error in mounted hook: “ReferenceError: Jessibuca is not defined“
前端·javascript·vue.js
BTU_YC6 小时前
FastAPI+Vue前后端分离架构指南
vue.js·架构·fastapi
悟乙己8 小时前
基于AWS Lambda的机器学习动态定价系统 CI/CD管道部署方案介绍
机器学习·ci/cd·aws
炒香菇的书呆子8 小时前
基于Amazon S3设置AWS Transfer Family Web 应用程序
javascript·aws
正义的大古9 小时前
OpenLayers地图交互 -- 章节七:指针交互详解
前端·javascript·vue.js·openlayers
qwy7152292581639 小时前
vue自定义指令
前端·javascript·vue.js
看到我请叫我铁锤9 小时前
vue3使用leaflet的时候高亮显示省市区
前端·javascript·vue.js