我有一组具有相同文件夹结构但内容不同的用户文件夹,存储在 S3 中。
/user/userA/application/folder/structure/file.xml
/user/userB/application/folder/structure/file.xml
如果该用户尚不存在 s3 文件夹结构,我想将用户重定向到后备文件夹(带有后备内容)。
/user-fallback/application/folder/structure/file.xml
我尝试在重定向规则中添加通配符参数,但 S3 正在读取
*
作为字面意思<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>user/*/</KeyPrefixEquals>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>user-fallback/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
所以只有以
/user/*/
开头的网址被正确重定向到 user-fallback
文件夹结构。我有 20 多个用户,因此创建单个 RoutingRules 也不起作用(S3 有路由规则限制)
有什么想法吗?
最佳答案
路由规则不允许使用通配符——但是您不能为任何 404 错误设置一个自定义重定向吗?请参见此处的示例#2:
Example 2: Redirect requests for a deleted folder to a page
只需将条件更改为:
那行得通吗?
关于amazon-web-services - 具有通配符条件的 AWS S3 RoutingRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685950/