Cloudfront将URL重写为S3

Dav*_*eño 4 amazon-s3 amazon-web-services amazon-cloudfront

我有一个Cloudfront域,它以下列形式从S3服务图像:

http://static.example.com/images/image1.jpg - > S3://mybucket/images/image1.jpg

我需要重写,所以这个网址也可以:

http://static.example.com/this-is-example/images/image1.jpg - > S3://mybucket/images/image1.jpg

使用cloudfront或其他亚马逊服务可以做到这一点吗?

谢谢

ted*_*r42 5

由于您使用的是S3,最好/最简单的方法是使用S3路由规则.这是一个应该捕获您要求的示例:

  <RoutingRules>
    <RoutingRule>
    <Condition>
      <KeyPrefixEquals>this-is-example/images/</KeyPrefixEquals>
    </Condition>
    <Redirect>
      <ReplaceKeyPrefixWith>images/</ReplaceKeyPrefixWith>
    </Redirect>
    </RoutingRule>
  </RoutingRules>
Run Code Online (Sandbox Code Playgroud)

这可能需要根据您的使用情况进行调整,但为此添加重定向/路由/重写规则应该相当容易.

请注意,您还可以使用不同的机制添加单个重定向.

  • 这种方法似乎适用于s3,但我不认为它在内容由cloudfront提供时有效. (3认同)