在 Route53 和 CloudFront 中将 www 重定向到非 www
Redirect www to non www in Route53 and CloudFront
我正在使用以 S3 作为源的 CloudFront(存储桶不是 public,未启用静态网站)。存储桶有一些随机名称。
我已经为 example.com 创建了一个 ACM 和 R53 入口 + 为此域配置了 CloudFront,它在 https://example.com.
上运行良好
现在我想将 https://www.example.com 重定向到 https://example.com。
我将 www.example.com as domain to CloudFront (not sure if it's needed) and I created a new R53 entree (CNAME) from www.example.com 添加到 example.com。
现在 domain.com 和 www.example.com work but this is not what I want. I want www.example.com 都重定向到 example.com。我该如何解决?
您需要两个不同的 CloudFront 分配。
example.com
-> s3 来源
www.example.com
-> s3 重定向存储桶(网站)到 example.com
您可以使用 CloudFront 函数根据主机进行重定向 header。您可以在 CloudFront 控制台的 Functions 部分创建函数 - 下面是一个示例:
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;
}
我正在使用以 S3 作为源的 CloudFront(存储桶不是 public,未启用静态网站)。存储桶有一些随机名称。
我已经为 example.com 创建了一个 ACM 和 R53 入口 + 为此域配置了 CloudFront,它在 https://example.com.
上运行良好现在我想将 https://www.example.com 重定向到 https://example.com。 我将 www.example.com as domain to CloudFront (not sure if it's needed) and I created a new R53 entree (CNAME) from www.example.com 添加到 example.com。
现在 domain.com 和 www.example.com work but this is not what I want. I want www.example.com 都重定向到 example.com。我该如何解决?
您需要两个不同的 CloudFront 分配。
example.com
-> s3 来源www.example.com
-> s3 重定向存储桶(网站)到example.com
您可以使用 CloudFront 函数根据主机进行重定向 header。您可以在 CloudFront 控制台的 Functions 部分创建函数 - 下面是一个示例:
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;
}