AWS CloudFront 重定向到路径
AWS CloudFront redirect to path
我有一个 CloudFront 分配,可将 www.myapp.com 重定向到存储我网站的 S3 存储桶。
分发使用 CName www.myapp.com 和默认根对象 "index.html".
我还想将 www.myapp.com/path 重定向到同一个存储桶,以便用户可以通过 www.myapp.com 和 www.myapp.[=17= 访问我的网站].
有人知道如何使用 CloudFront 将自定义路径重定向到存储桶吗?
- 这不是重定向,这是原始行为
- 您可以为原点设置不同的原点路径,为行为设置不同的路径模式。行为是目标,起点是终点
使用 /path/ 的行为和原始请求的 lambda 函数解决了它:
exports.handler = async (event, context, callback) => {
const response = {
status: '301',
statusDescription: 'Moved Permanently',
headers: {
location: [{
key: 'Location',
value: "https://" + event.Records[0].cf.request.headers.host[0].value.replace(".s3.amazonaws.com", ""),
}],
},
};
callback(null, response);
};
我有一个 CloudFront 分配,可将 www.myapp.com 重定向到存储我网站的 S3 存储桶。 分发使用 CName www.myapp.com 和默认根对象 "index.html".
我还想将 www.myapp.com/path 重定向到同一个存储桶,以便用户可以通过 www.myapp.com 和 www.myapp.[=17= 访问我的网站].
有人知道如何使用 CloudFront 将自定义路径重定向到存储桶吗?
- 这不是重定向,这是原始行为
- 您可以为原点设置不同的原点路径,为行为设置不同的路径模式。行为是目标,起点是终点
使用 /path/ 的行为和原始请求的 lambda 函数解决了它:
exports.handler = async (event, context, callback) => {
const response = {
status: '301',
statusDescription: 'Moved Permanently',
headers: {
location: [{
key: 'Location',
value: "https://" + event.Records[0].cf.request.headers.host[0].value.replace(".s3.amazonaws.com", ""),
}],
},
};
callback(null, response);
};