You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Route53与CloudFront中配置www域名重定向到非www域名

CloudFront配置www.example.com重定向至example.com操作指南

前置说明

你之前的操作仅将两个域名绑定到同一CloudFront分发,CloudFront默认无自动重定向逻辑,因此两个域名均可正常访问内容。以下是完整配置步骤:

配置步骤

1. 确认ACM证书有效性

你使用的ACM证书必须部署在us-east-1区域(CloudFront仅支持该区域的ACM证书),且证书需同时覆盖example.com和www.example.com(可以是单域名叠加,也可以是通配符域名证书),避免访问www域名时出现SSL报错。

2. 配置CloudFront重定向规则

因为你的S3桶未开启静态网站功能,无法通过S3侧配置重定向,需在CloudFront层配置重定向逻辑,推荐以下两种方案二选一即可:

方案A:使用CloudFront Functions(轻量、成本更低)

  • 进入CloudFront控制台,找到当前服务example.com的分发,进入「函数」标签页
  • 新建函数,运行时选择CloudFront Functions 2.0,粘贴以下代码(将代码中的example.com替换为你的实际根域名):
function handler(event) {
    const request = event.request;
    const host = request.headers.host.value;
    const rootDomain = "example.com";

    if (host === `www.${rootDomain}`) {
        return {
            statusCode: 301,
            statusDescription: "Moved Permanently",
            headers: {
                "location": { "value": `https://${rootDomain}${request.uri}${request.querystring ? `?${request.querystring}` : ""}` },
                "cache-control": { "value": "max-age=3600" }
            }
        };
    }
    return request;
}
  • 测试函数无误后发布,将函数关联到当前CloudFront分发的默认缓存行为的查看器请求触发器,保存配置。

方案B:使用CloudFront内置重定向规则(无需写代码)

  • 进入CloudFront分发的「行为」标签页,编辑默认缓存行为
  • 找到「重定向规则」模块,添加新规则:
    • 匹配条件:请求头Host等于www.example.com
    • 执行操作:重定向到https://example.com,勾选保留原请求路径、保留原查询字符串
    • 重定向状态码选择301(永久重定向),保存配置。

3. 修正Route53解析配置

不要将www.example.com的CNAME记录指向example.com,需直接指向你当前CloudFront分发的官方域名(格式为xxx.cloudfront.net),和example.com的解析指向目标一致。

验证配置

CloudFront配置生效需要5~10分钟,生效后你可以用以下方式验证:

  • 打开无痕浏览器访问https://www.example.com,会自动跳转至https://example.com对应路径
  • 用curl命令验证返回头:curl -I https://www.example.com,可看到返回状态码为301,Location头指向根域名对应地址

注意:301重定向会被浏览器长期缓存,若测试未生效可先清除浏览器缓存或更换网络环境测试。

内容的提问来源于stack exchange,提问作者DenCowboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:36:06