在子目录中反应路由器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>
我有一个部署在站点子目录中的 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>