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

S3配置www跳转非www时URL自动追加/index.html如何解决?

问题根因

跳转自动追加index.html是S3静态网站托管的默认逻辑导致的:为www对应的S3桶配置默认索引文档index.html后,所有根路径请求会先被S3内部解析为/index.html,触发全局重定向规则时就会把解析后的路径带到目标域名,最终出现多余后缀。

解决方法

方法1:修改S3自定义重定向规则

不要使用S3静态网站托管自带的「全局重定向到其他域名」配置,换成自定义重定向规则直接匹配所有请求跳转,同时清空桶的默认索引文档配置,避免S3自动解析路径。规则示例:

[
    {
        "Condition": {
            "KeyPrefixEquals": ""
        },
        "Redirect": {
            "HostName": "example.com",
            "Protocol": "https",
            "HttpRedirectCode": "301",
            "ReplaceKeyPrefixWith": ""
        }
    }
]

方法2:通过CloudFront Functions实现重定向(更推荐)

完全绕过S3的重定向逻辑,直接在www对应的CloudFront分发配置Viewer Request触发的函数,直接返回301重定向,不会出现多余后缀,函数示例:

function handler(event) {
    return {
        statusCode: 301,
        statusDescription: 'Moved Permanently',
        headers: {
            'location': { value: 'https://example.com' + event.request.uri }
        }
    };
}

配置完成后关联到CloudFront分发的Viewer Request事件,清除CloudFront缓存即可验证生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:27:07