gpt4 book ai didi

amazon-web-services - 如何从存储桶根重定向到 AWS S3 中的子目录?

转载 作者:行者123 更新时间:2023-12-04 08:10:44 26 4
gpt4 key购买 nike

我有一个亚马逊 S3 存储桶,为来自 S3bucketurl.com/foo/index.html 的网站提供服务.

我想配置一个 redirection rule ,它会自动重写 URL,如下所示:

访问 S3bucketurl.com应该自动重定向到 S3bucketurl.com/foo ,并服务于 index.html子文件夹中包含的文件 foo .

我试图这样设置重定向规则:

<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>api</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>

结果是 404 :
404 Not Found

Code: NoSuchKey
Message: The specified key does not exist.
Key: index.html

我也试过 <ReplaceKeyWith>/api</ReplaceKeyWith> 的排列, <ReplaceKeyWith>api/</ReplaceKeyWith><ReplaceKeyWith>/api/</ReplaceKeyWith>无济于事。

最佳答案

<KeyPrefixEquals>/</KeyPrefixEquals>



这里有两个问题:首先,这匹配一个前缀,这意味着存在一个隐含的 *在末尾。这不是你想要的,在这里。此外,S3 存储桶中的键通常没有前缀 / .对象键以前导斜杠后的字符开头。您的 <ReplaceKeyWith>被忽略,因为前缀测试永远不会匹配。但在这里,规则并不是最好的解决方案。

做你想做的事情的方法是这样的:

上传一个空文件以在存储桶的根目录中创建一个新对象,命名为您用于索引文档的任何名称,通常是 index.html .除非您的存储桶策略公开所有内容,否则将其设为公开。

在此对象的对象元数据中,设置 x-amz-website-redirect-location/api/ (或 /foo/ ,或您想要的任何路径)。

关于amazon-web-services - 如何从存储桶根重定向到 AWS S3 中的子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46368745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com