在子目录中反应路由器apache配置

react router apache config in sub directory

我有一个部署在站点子目录中的 React 应用程序, 子目录是这样的 www.example.com/iapp,我还将我的 package.json 和路由器配置到该子目录,如下所示。 在我的 package.json 中:

 "homepage": "example.com/iapp",

在我的路由器中,我添加了一个如下所示的基本名称

 <Router basename={'/iapp'}>
</Router>

一切正常,但路由已关闭,当我在除此 url 以外的任何地方重新加载页面时: example.com/iapp 未加载任何内容,并显示空白页面。 我知道这与 htaccess 和 react 路由器的 apache 配置有关,但我似乎无法解决问题。

所以,是的,我找到了一种方法,而且非常简单,所以你要做的是在你的子目录中创建一个 .htaccess 文件,对我来说,该子目录的名称是iapp然后添加下面的配置就可以了

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteBase /iapp
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /iapp/index.html [L]

</IfModule>