在 AWS Amplify 的 Gatsby 站点上设置 404 页面时出现问题
Problems setting up 404 page on Gatsby site in AWS Amplify
我有一个simple Gatsby site that I've deployed through AWS Amplify based on this guide。但是,我很难通过 AWS Amplify 控制台(或通过配置文件)设置正确的 404 页面。
我希望它像 Google.com 上的标准 404 页面一样运行 – 即
- 不正确 URLs 显示我的 404 页面的内容 (ember.to/404)
- 不正确的 URL 在 URL 栏中保持不变 – 即用户看不到重定向
- header 中返回 404 状态代码,因此 browser/GoogleBot 知道它是 404
当前发生的事情:
- 我在 "Rewrites and redirects" 中设置了一条规则,类型为“404”,源地址为“/<*>”,目标地址为“/404”
- 这意味着如果有人访问(例如)不存在的 ember.to/blah,他们会看到所需的 404 页面。但是,他们浏览器栏中的 URL 更改为 ember.to/404(不需要)并且 HTTP header 不提供 404 状态
- 我也试过将重定向类型更改为“200”。这几乎在不正确的 URLs 上给出了正确的行为(URL 保持不变,显示 404 消息并将 403 错误返回给浏览器)但不幸的是,这意味着我网站上的所有有效页面都显示 404 消息
- 我看不到任何配置方法,只有在访问 URL
时返回 404 消息时才执行 200 重定向
有人可以帮忙吗?我不太清楚控制台外是否缺少更多高级配置选项?我可以使用 amplify.yml 文件对构建设置做些什么吗?
谢谢
这现在可以通过在 重写和重定向中设置以下重写在 AWS Amplify 上实现:
- 来源地址:
/<*>
- 目标地址:
/404.html
- 类型:
404 (Rewrite)
我有一个simple Gatsby site that I've deployed through AWS Amplify based on this guide。但是,我很难通过 AWS Amplify 控制台(或通过配置文件)设置正确的 404 页面。
我希望它像 Google.com 上的标准 404 页面一样运行 – 即
- 不正确 URLs 显示我的 404 页面的内容 (ember.to/404)
- 不正确的 URL 在 URL 栏中保持不变 – 即用户看不到重定向
- header 中返回 404 状态代码,因此 browser/GoogleBot 知道它是 404
当前发生的事情:
- 我在 "Rewrites and redirects" 中设置了一条规则,类型为“404”,源地址为“/<*>”,目标地址为“/404”
- 这意味着如果有人访问(例如)不存在的 ember.to/blah,他们会看到所需的 404 页面。但是,他们浏览器栏中的 URL 更改为 ember.to/404(不需要)并且 HTTP header 不提供 404 状态
- 我也试过将重定向类型更改为“200”。这几乎在不正确的 URLs 上给出了正确的行为(URL 保持不变,显示 404 消息并将 403 错误返回给浏览器)但不幸的是,这意味着我网站上的所有有效页面都显示 404 消息
- 我看不到任何配置方法,只有在访问 URL 时返回 404 消息时才执行 200 重定向
有人可以帮忙吗?我不太清楚控制台外是否缺少更多高级配置选项?我可以使用 amplify.yml 文件对构建设置做些什么吗?
谢谢
这现在可以通过在 重写和重定向中设置以下重写在 AWS Amplify 上实现:
- 来源地址:
/<*>
- 目标地址:
/404.html
- 类型:
404 (Rewrite)