问题描述
我的 single-spa 包含 4 个 react 应用程序。每个都有自己的 react-router-dom。如果我从 4 个应用程序之一点击浏览器刷新,它会显示找不到页面。应用部署在Linux操作系统的apache服务器中。
我不知道我是否缺少基本应用程序中的任何配置。它在 webpack 和 node 的开发服务器中运行良好。
解决方法
是的,因为您部署的应用程序不知道路由。在单页应用程序中,只有您的 /
路由存在。 SPA 中的所有路由都是客户端路由,不会向服务器发出单独的 GET 请求。
在将我的应用程序部署到 netlify 时,我遇到了同样的问题。它显示了默认的 netlify 404 页面。然后我将 _redirects
文件添加到 public 目录中,内容如下:
/* /index.html 200
这将所有 404 路由重定向到默认 index.html,从而使用客户端路由。您需要为您部署的版本找到类似的东西。