[英]Redirect www to non www in Route53 and CloudFront
我正在使用以 S3 为源的 CloudFront(存储桶不公开,static 网站未启用)。 桶有一些随机名称。
我已经为 example.com 创建了一个 ACM 和 R53 主菜 + 为此域配置了 CloudFront,它适用于https://example.com 。
现在我想将https://www.example.com重定向到https://example.com 。 我将www.example.com作为域添加到 CloudFront(不确定是否需要),并且我创建了一个新的 R53 entree (CNAME) 从www.example.com到 example.com。
现在 domain.com 和www.example.com都可以工作,但这不是我想要的。 我希望www.example.com重定向到 example.com。 我该如何解决?
您可以使用 CloudFront Functions 基于主机 header 进行重定向。您可以在 CloudFront 控制台的Functions部分创建 function - 这是一个示例:
function handler(event) {
var request = event.request;
var host = request.headers.host.value;
if (host === 'www.example.com') {
var response = {
statusCode: 301,
statusDescription: 'Moved Permanently',
headers: {
'location': { "value": `https://example.com${request.uri}` }
}
};
return response;
}
return request;
}
您需要两个不同的 CloudFront 分配。
example.com
-> s3 来源www.example.com
-> s3 将存储桶(网站)重定向到example.com
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.