我尝试设置S3来托管我的静态内容。我一直关注AWS网站上的文档。到目前为止,我通过输入存储桶的端点设法成功加载了网页:
http://my-bucket.s3-website-us-east-1.amazonaws.com
但由于这是一个单页面应用程序,并且在网页内处理路由(使用React实现),我需要将指向不存在页面的所有URL重定向到/
。所以我按照以下方式配置了存储桶的重定向规则:
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>/</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>
但问题是当我打开网址时:
http://my-bucket.s3-website-us-east-1.amazonaws.com/logon
我面对403 Forbidden
。在我看来,AWS阻止了URL,因为它不是公共的,但是如果一个对象不存在,我该如何公开它呢?