在S3 AWS上React应用程序SPA,同时刷新页面显示404页面

2024-02-21

我有一个SPA用做的React JS on a S3桶我正在使用Cloud Front 通过 HTTPS 和自定义域工作。当我刷新页面时 - 如果我有另一个不是 BASE_URL 的路由(例如domain.com/something),S3 向我发送 404 错误。

我还尝试将错误页面重定向到 BASE_URL,但它不起作用,它将我重定向到 S3 为我提供的 Http 默认域,并且再次给我一个 404 错误页面。

我不知道是否存在另一种方法来保持 URL 不变(domain.com/page)并避免 Web 服务器(apache)处理的 404 错误。


如果您使用CloudFront托管s3网站,摆脱的有效方法404在重新加载非索引路由时,例如www.google.com/about或类似的非/是通过以下步骤:

  1. 转到您的 CloudFront 分配
  2. 转到错误页面
  3. 使用以下参数创建一个新的错误页面:
    HTTP Error Code: 404
    TTL: 0
    Custom Error Response: Yes
    Response Page Path: /index.html
    HTTP Response Code: 200

enjoy

本文的学分https://gist.github.com/bradwestfall/b5b0e450015dbc9b4e56e5f398df48ff https://gist.github.com/bradwestfall/b5b0e450015dbc9b4e56e5f398df48ff

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在S3 AWS上React应用程序SPA,同时刷新页面显示404页面 的相关文章

  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro
  • 陷入了 React useEffect 的一系列变化

    我正在反应中创建一个表单生成器 在一个简单的文本字段上 我需要 Change currentValue When currentValue已更改 验证它 验证完成后 发出一个事件 有效或无效 这是我的代码 const TextInput p
  • 在复选框内映射复选框 ReactJS

    我有一个函数 一旦主复选框被选中 就会触发子复选框 并且所有这些复选框都是从 JSON 映射的 主复选框 最高级别 及其下面的所有子复选框 第二级别 都会在单击时显示 并且效果很好 我想要显示的是单击时主复选框 第三级别 的子复选框2 级项
  • CNAME 速度慢吗?

    我将 CNAME 与 S3 CloudFront 一起使用来提供一些静态文件 例如 js css 图像等 我这样做是为了使存储桶的 URL 更漂亮 因为我认为最好将所有内容都定位到我的网站 以防万一将来我想移动这些文件 更改应该是透明的 今
  • 具有多种布局的 React Router v4

    我想在我的公共布局中渲染一些路线 并在我的私人布局中渲染一些其他路线 有没有一种干净的方法可以做到这一点 显然不起作用的示例 但我希望大致解释我正在寻找的内容
  • 创建部署时将 pod-template-hash 添加到副本集名称中的确切原因是什么?

    https kubernetes io docs concepts workloads controllers deployment creating a deployment https kubernetes io docs concep
  • Azure 部署未安装requirements.txt 中列出的Python 包

    这是我第一次将 Flask Web 应用程序部署到 Azure 我跟着这个tutorial https azure microsoft com en us documentation articles web sites python cr
  • 如何使用 Jest 测试 React 渲染的异步数据?

    我使用 React 进行渲染 使用 Jest Jasmine 进行测试 我用旧的 Jest Jasmine 编写了测试waitsFor and runs但这些现在在 Jasmine 2 中已经消失了 我不知道如何用新的替换done asyn
  • Capistrano for Rails 3.1

    我正在使用 Rails 3 1 和 Capistrano 我明白了 没有这样的文件或目录 public images public stylesheets 和 public javascripts 的错误 错误 在网上搜索了一下 发现很多博
  • 如何测试 google.maps.Geocoder?

    你好 我正在尝试编写一个 简单 测试来检查反应类组件状态更改 具体来说 我正在测试如果 Google 成功对我发送的某些字符串 地址 进行地理编码 lat 纬度 和 lng 经度 状态是否会发生变化 这是我想测试的示例 i e the la
  • 如何在反应中循环

    如何循环重复 这是我的代码 这是App js import React from react import App css import Child from Child Child function App return div div
  • MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。添加了 11 条消息列表。使用emitter.setMaxListeners()来增加限制

    我知道这可能会标记为重复的解决方案 但堆栈溢出的解决方案对我不起作用 Problem node 5716 MaxListenersExceededWarning Possible EventEmitter memory leak detec
  • 如何通过版本控制获取 S3 存储桶中所有文件的大小?

    我知道这个命令可以提供存储桶中所有文件的大小 aws s3 ls mybucket recursive summarize human readable 但这并没有说明版本控制 http docs aws amazon com Amazon
  • 在玩笑中运行普通转换后如何转换模块

    用笑话测试 React 组件 其中一些组件使用 OpenLayers ol 软件包 v5 2 0 在 ol 包 v4 中 我应用了 transformIgnorePatterns 来转换 ol 包 jest transformIgnoreP
  • Amazon S3 403 AccessDenied 错误

    当我从 S3 存储桶请求对象时 我从亚马逊收到一些奇怪的 403 错误 它似乎是间歇性的 并且只会快速连续地发生 如果我稍后尝试访问相同的对象 通常可以毫无问题地检索它们 我的直觉是 这些错误的发生是由于某种速率限制约束 但我在文档中找不到
  • Firebase 托管部署失败

    Running firebase deploy在给我一个超时错误之前会运行几分钟Error ESOCKETTIMEDOUT 我之前已经成功部署了多次 除了项目的前端 用 React 编写 之外 没有更改任何内容 我有一个单独的文件夹 其中包
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • 在 VPC 内从 Lambda 访问 AWS S3

    总的来说 我对在 VPC 中使用 AWS Lambda 感到非常困惑 问题是 Lambda 在尝试访问 S3 存储桶时超时 解决方案似乎是 VPC 端点 我已将 Lambda 函数添 加到 VPC 以便它可以访问 RDS 托管数据库 下面的
  • 在 React 中实现 Google 登录错误 -

    我正在尝试在 React 中实现 google 登录 这是我的组件 import Fragment useEffect from react import GOOGLE CLIENT ID from some file const Goog
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不

随机推荐