为什么 CloudFront 没有跟随 S3 网站重定向位置?

Yan*_*aze 23 amazon-s3 amazon-cloudfront

我有一个托管在 Amazon S3 上的网站。它是托管在 WordPress 上的旧网站的新版本。

我已经设置了一些带有元数据的文件Website Redirect Location来处理旧位置并将它们重定向到新的网站页面。

例如:我http://www.mysite.com/solution想重定向到http://mysite.s3-website-us-east-1.amazonaws.com/product.html所以我solution在我的存储桶中创建了一个带有正确元数据的空文件:

Website Redirect Location= /product.html

S3 重定向元数据相当于一个301 Moved Permanently非常适合 SEO 的元数据。这在直接从 S3 域访问 URL 时非常有效。

我还基于网站存储桶设置了 CloudFront 分配。当我尝试通过我的发行版访问时,重定向不起作用,即:

http://xxxx123.cloudfront.net/solution 不重定向而是下载空文件。

所以我的问题是如何通过 CloudFront 分配保持重定向?或者关于如何在不恶化 SEO 的情况下处理重定向的任何想法?

谢谢

小智 58

我最近遇到了这个问题,我找到了一个似乎有效的解决方法。

我创建了一个 Cloudfront 分配,其自定义源指向 S3 静态网站主机名而不是存储桶主机名。在 OP 的情况下,所需的原点是。

mysite.s3-website-us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

仅使用存储桶作为源来命中 Cloudfront 分配是行不通的,因为存储桶实际上不提供重定向服务。它只提供文件和存储元数据。

希望有帮助。

  • bmatsuo - 如果我们可以为此提供 10 亿代表点数,我们会的。非常感谢。你真的救了一天。 (3认同)