s3 上的静态网站在刷新非主页时出现 404:没有这样的键错误

cur*_*bee 3 amazon-s3 amazon-web-services amazon-cloudfront

单击/刷新以下站点时https://rrc6k2ykxxxxx.cloudfront.net/example-1

此错误出现在所有非主页 URL 上,我在 s3 存储桶上有 ReactJS 应用程序,该存储桶通过 Cloudfront 提供服务。

错误:NoSuchKey 指定的键不存在。关键:示例-1

将非主页上的刷新重定向回主页的最佳方法是什么?谢谢

tpl*_*usk 9

假设这是一个单页应用程序(SPA),因为这是反应 - 换句话说,您的 s3 存储桶中没有文件example-1/index.html

对于单页应用程序,无论提供静态内容,都需要返回index.html所有不匹配路径的根文件。在CloudFront中,您可以点击分配,然后点击“错误页面”,点击“创建自定义错误响应”,HTTP错误代码选择404,选择“创建自定义错误响应”并放入/index.html响应页面路径响应代码为 200。对于 403 错误代码,您需要重复此操作。