【发布时间】:2021-07-02 11:04:32
【问题描述】:
我有一个网站(例如 example.com)托管在 AWS S3(存储桶名称 - “xyz”)上,并通过 Cloudfront 分发提供流量。 CDN 按照惯例将 Origin 映射到 S3 以传递内容。 DNS (Route 53) 记录映射到此 CDN 分布。
我最近从这个 S3 存储桶中删除了一个对象,比如 xyz/hello/hello-jon 因此,当用户尝试点击 example.com/hello/hello-jon 时,他们会收到预期的 404 错误。我想将此重定向到从同一存储桶中的不同对象加载的不同页面,例如 xyz/world/world-right。这样当用户尝试点击 URL example.com/hello/hello-jon 时,他们应该被重定向到 example.com/world/world-right 页面。
我参考了几个 Amazon Docs,最后选择了这个:- https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-page-redirect.html
我尝试了第二个示例示例 2:将对已删除文件夹的请求重定向到页面。在存储桶 xyz 的重定向规则中设置了以下基于 JSON 的规则:-
[
{
"Condition": {
"KeyPrefixEquals": "hello/hello-jon/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "world/world-right/"
}
}
]
重定向确实有效,但预期结果不同。我得到的结果 URL 为:- http://S3-bucket-name.S3-bucket-region.amazonaws.com/world/world-right/
而不是https://www.example.com/world/world-right/
能否请您帮助我解决此问题或提供在这种情况下可行的替代方案?
【问题讨论】:
标签: amazon-web-services amazon-s3 redirect http-redirect