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

基于S3、Route53与CloudFront的子URL重定向配置方法咨询

配置CloudFront实现特定子页面重定向(S3静态站场景)

针对你的需求——仅将http://s3Hostedsite.net/product/24重定向至外部网站,其余流量正常指向S3静态站,推荐用CloudFront函数实现(轻量、低延迟、无额外费用),步骤如下:

方法一:使用CloudFront函数(推荐)

1. 创建并编写重定向函数

  • 登录AWS控制台,进入CloudFront服务
  • 左侧菜单选择「函数」,点击「创建函数」
  • 命名函数(例如product-24-redirect),运行时选择cloudfront-js-2.0,点击「创建函数」
  • 在代码编辑器中替换为以下逻辑(替换目标URL为实际地址):
    function handler(event) {
        const request = event.request;
        const uri = request.uri;
        
        // 匹配/product/24路径(包含子路径如/product/24/detail等)
        if (uri.startsWith('/product/24')) {
            return {
                statusCode: 301, // 永久重定向,需临时重定向则改为302
                statusDescription: 'Moved Permanently',
                headers: {
                    location: {
                        value: 'https://目标网站地址.com'
                    }
                }
            };
        }
        
        // 其他请求正常转发至S3源站
        return request;
    }
    
  • 点击「保存」,再点击「发布」,选择发布到「生产」环境

2. 将函数关联到CloudFront分发

  • 进入你的CloudFront分发详情页,切换到「行为」标签
  • 选中默认行为(路径模式为/*的那条),点击「编辑」
  • 滚动到「函数关联」区域,在「查看器请求」下拉菜单中选择「CloudFront函数」,然后选中刚才创建并发布的函数
  • 保存更改,等待CloudFront完成分发更新(通常5-10分钟)

方法二:使用Lambda@Edge(适合复杂逻辑)

如果需要更复杂的路径匹配或额外处理逻辑,可以用Lambda@Edge:

  1. 在us-east-1区域创建Lambda函数,选择「Node.js」运行时
  2. 编写处理viewer-request事件的代码,逻辑与CloudFront函数类似,判断路径后返回重定向响应
  3. 发布Lambda函数的新版本,然后将其关联到CloudFront分发的默认行为(查看器请求事件)

注意事项

  • 状态码选择:301为永久重定向(搜索引擎会更新索引),302为临时重定向,根据业务需求选择
  • 测试时需清除浏览器缓存,或用curl -v http://s3Hostedsite.net/product/24命令验证重定向效果
  • 若需匹配更精准的路径(仅严格匹配/product/24),可将判断逻辑改为uri === '/product/24'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:46:11