首页 > 解决方案 > 使用 React 路由器设置 React 应用程序以导航组件和 URL 重写以导航 IIS 中的子应用程序

问题描述

我有一个要求,例如根应用程序(React + .NET 核心)-(example.com)有几个组件(myapp,dualapp),并且 React-Router 设置为路由到组件(example.com/myapp, example.com/dualapp)。

同时,我有两个子应用程序(React + .NET 核心),例如 - (example1.com, example2.com)。我想通过使用 example.com/example1、example.com/example2 路由到子应用程序,但我当前的路由器设置是将 example.com/example1 重定向到 React 路由器并在根应用程序中查找组件。

您能否就如何设置 IIS 重写以重定向到子应用程序提供帮助。

我当前的 IIS 重写设置如下所示,

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
      <rewrite>
          <rules>
              <rule name="example1" stopProcessing="false">
                  <match url="example1/(.*)" />
                  <action type="Rewrite" url="https://www.example1.com/{R:1}" appendQueryString="true" logRewrittenUrl="false" />
              </rule>
              <rule name="example2" stopProcessing="false">
                  <match url="example2/(.*)" />
                  <action type="Rewrite" url="https://www.example2.com/{R:1}" appendQueryString="true" logRewrittenUrl="false" />
              </rule>
          </rules>
      </rewrite>
  </system.webServer>
</configuration>

React-Router 设置如下所示,

 <BrowserRouter>
    <Switch>
        <Route exact path="/">
            <Dashboard />
        </Route>
        <Route path="/myapp">
            <Myapp />
        </Route>
        <Route path="/dualapp">
            <DualApp />
        </Route>
    </Switch>
</BrowserRouter>

标签: reactjsasp.net-coreiisurl-rewriting

解决方案


推荐阅读