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

the*_*her 3 apache subdirectory reactjs react-router

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

 "homepage": "example.com/iapp",
Run Code Online (Sandbox Code Playgroud)

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

 <Router basename={'/iapp'}>
</Router>
Run Code Online (Sandbox Code Playgroud)

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

the*_*her 7

所以是的,我找到了一种方法来做到这一点,而且非常简单,所以你要做的就是.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>
Run Code Online (Sandbox Code Playgroud)