S3如何将所有请求路由到同一资源?

时间:2013-10-12 14:01:16

标签: amazon-web-services amazon-s3 amazon-cloudfront

我想在S3上托管一个网站。网页内容将存储在我们网站服务的其他位置。因此S3只会提供HTML页面,CSS和关键的JS。然后AJAX请求将检索数据并将其显示在网页上。

我正在寻找的例子

https://www.example.com/something/another/thing
routes to s3/mybucket/index.html

https://www.example.com/something
routes to s3/mybucket/index.html

https://example.com
routes to s3/mybucket/index.html

因此问题是,如何将所有请求路由到同一资源?

2 个答案:

答案 0 :(得分:0)

我不能说我有很多这方面的经验,但是构建单页面Web应用程序是一个有趣的想法。查看this的重定向。另外,请考虑使用Cloudfront来提供CSS。

答案 1 :(得分:0)

最后设法搞清楚了。使用ReplaceKeyPrefixWith实际上并不重定向页面,它只是将其路由到所需的目标。使用设置为“/”的KeyPrefixEquals表示将重新路由所有请求,但index.html除外。

<RoutingRules>
    <RoutingRule>
        <Condition>
            <KeyPrefixEquals>/</KeyPrefixEquals>
        </Condition>
        <Redirect>
            <ReplaceKeyPrefixWith>index.html</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>