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

时间:2019-01-17 08:51:50

标签: reactjs nginx routing cloudfoundry react-router-v4

问题:

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

我正在使用什么:

该应用程序是一个简单的React应用程序。在React Router V4旁边没有安装特殊模块。该代码非常简单,我将BrowserRouter用作应用程序的子级。如前所述,只有3个组件可以简单地通过<Link To=.../><Route path={.../>进行路由。

到目前为止,我已经尝试过:

我已在根目录中使用pushstate: enabled在Cloud Foundry文档中声明了一个静态文件。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

为所有请求提供index.html,然后React路由器将管理所有路由。

但是,如果您有需要访问的端点或某些后端路由,只需为这些路由设置例外,然后为其他所有内容提供index.html。

答案 1 :(得分:0)

我刚刚找到了答案。我将其发布在这里供将来的用户使用:

我的manifest.yml文件具有以下内容:

...
path: build/
...

您只需要将Staticfile从react放到build /文件夹中,而不是放在项目根目录中。还要注意,每次创建项目时,静态文件都会被删除。