AWS不允许我访问静态网站的子页面



我正在使用AWS S3桶,Cloudfront和Route53。关于我如何设置的细节,这里有一个链接,我告诉人们如何设置这一切的答案。如果去www..com/about我得到这个:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>PD94JP7DNG6TPDQF</RequestId>
<HostId>
qc0Fvl3fiS7igVeBEYfwvX19so0dH3hmIWNRBOcveK+j4DMmoPZQsxmbeA0XhFisy1BQvxmmrj8=
</HostId>
</Error>

但是如果我去www.。com使用我网站的导航栏进入"about"节,我就能顺利到达。AWS不喜欢我直接点击about url。我需要做些什么来允许任何子页面被击中?

这可能是:当试图通过我的网站上的完整url访问页面时,接收访问被拒绝

如果是这样,我将标记为副本,备用。

这听起来像是您的站点需要通过您的索引页路由请求。这将导致HTTP 404错误,它可能会被CloudFront掩盖为403错误。

这可能发生在React应用程序中,如果它直接收到/example的请求,它会去S3桶中寻找一个不存在的"example"文件。你可以通过将404错误重定向到索引页来处理这个问题,在你的S3静态网站托管设置中,将错误文档设置为index.html。

最新更新