我有一个现有的反应项目托管在某些领域,如http://xyz.dev
现在我想在同一个域中托管另一个反应应用程序但在另一个目录中让我们说xyz.dev/newApp.我面临的问题是xyz.dev的react-router将/ newApp视为其虚拟路由,而不是重定向到newApp,而不是将xyz.dev的内容.
有没有办法告诉react-router忽略所有进入/ newApp的请求.
<Route path="/" component={BootstrapApp} >
<IndexRoute component={HomeApp} />
<Route path="about" component={AboutusApp} />
/* I need something like <Route ignorePath="newApp"/> */
</Route>
或者是其他任何方式吗?将立即提供帮助.
解决方法:
终于想通了.它与名为Alias的概念有关.我们需要在服务器中创建一个Alias配置,告诉服务器从另一个目录中获取/ newApp的所有内容.
Alias "/newApp" "C:/xampp/htdocs/react/xyz/newApp/www/public/"
<Directory "C:/xampp/htdocs/react/xyz/newApp/www/public/">
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride None
Require all granted
RewriteEngine On
RewriteBase /newApp
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$- [NC,L]
RewriteRule ^.*$index.html [NC,L]
</Directory>
同样在newApp的路由中,我们必须将路由设置为
<Route path="/newApp/" component={BootstrapApp} >
<IndexRoute component={HomeApp} />
<Route path="about" component={AboutusApp} />
</Route>
只使用这两种配置,我们可以在同一个域中运行两个完全不同的React应用程序.