Nginx 404 在 Cloud Foundry 上的页面重新加载



问题:

我已经将 React 应用程序部署到我们公司的内部云中。它适用于Cloud Foundry。该应用程序运行良好,但有一个问题。每当我刷新应用程序并且 URL 未指向根目录(例如 myapp.ourcloud.com/my-route)时,我都会收到来自 Nginx 的错误 404。

我正在使用什么:

该应用程序是一个简单的反应应用程序。在 React Router V4 旁边没有安装特殊模块。代码非常简单,我正在使用浏览器路由器,作为应用程序的孩子。只有 3 个组件简单地用 <Link To=.../><Route path={.../> 路由......如前所述,非常基本。

到目前为止我尝试过:

我已经在根目录中添加了一个静态文件,pushstate: enabled如Cloud Foundry文档中所述。

我只是自己找到了答案。我将在这里发布它以供未来的用户使用:

我的 manifest.yml 文件包含以下内容:

...
path: build/
...

您只需要将 Staticfile 放在 react 的 build/文件夹中,而不是在项目根目录中。还要小心,每次构建项目时都会删除静态文件。

Serve index.html 对于所有请求,然后反应路由器将管理所有路由。

但是,如果您有需要访问的终结点或某些后端路由,只需为这些路由例外,并为其他所有路由提供服务索引.html即可。

最新更新