AWS CloudFront 重定向到路径

AWS CloudFront redirect to path

我有一个 CloudFront 分配,可将 www.myapp.com 重定向到存储我网站的 S3 存储桶。 分发使用 CName www.myapp.com 和默认根对象 "index.html".

我还想将 www.myapp.com/path 重定向到同一个存储桶,以便用户可以通过 www.myapp.com 和 www.myapp.[=17= 访问我的网站].

有人知道如何使用 CloudFront 将自定义路径重定向到存储桶吗?

  1. 这不是重定向,这是原始行为
  2. 您可以为原点设置不同的原点路径,为行为设置不同的路径模式。行为是目标,起点是终点

使用 /path/ 的行为和原始请求的 lambda 函数解决了它:

exports.handler = async (event, context, callback) => {
    const response = {
        status: '301',
        statusDescription: 'Moved Permanently',
        headers: {
            location: [{
                key: 'Location',
                value: "https://" + event.Records[0].cf.request.headers.host[0].value.replace(".s3.amazonaws.com", ""),
            }],
        },
    };

    callback(null, response);
};