将所有404请求重定向到/中

时间:2018-04-12 15:16:41

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

我尝试设置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,因为它不是公共的,但是如果一个对象不存在,我该如何公开它呢?

1 个答案:

答案 0 :(得分:0)

事实证明,我所缺少的是授予公众访问权限以列出存储桶中的项目。但后来我意识到重定向不是我需要的。所以我问了一个新问题here