Reactjs Azure IIS重写中的React路由器

Reactjs Azure IIS重写中的React路由器,reactjs,azure,react-router,iisnode,Reactjs,Azure,React Router,Iisnode,我的React应用程序中有几个路由接受GUID值作为参数。例如,用户收到一封带有链接的电子邮件,并通过该链接验证和激活其在站点上的帐户 <Route exact path="/register" component={Register} /> <Route path="/register/:id" component={RegistrationConfirmation} /> 这不起作用,看起来它只是尝试导航到同一位置的单独页面: 配置此文件以便提供参数化路由的正确方

我的React应用程序中有几个路由接受GUID值作为参数。例如,用户收到一封带有链接的电子邮件,并通过该链接验证和激活其在站点上的帐户

<Route exact path="/register" component={Register} />
<Route path="/register/:id" component={RegistrationConfirmation} />
这不起作用,看起来它只是尝试导航到同一位置的单独页面:


配置此文件以便提供参数化路由的正确方法是什么?

好的,所以这个问题非常愚蠢,但我成功地解决了。问题是
index.html

这:


必须更改为:

<script type="text/javascript" src="/dist/bundle.js"></script>

这是我最后的web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <webSocket enabled="false" />
    <handlers>
      <add name="iisnode" path="./app.js" verb="*" modules="iisnode"/>
    </handlers>
    <rewrite>
        <rules>
     <rule name="React Requests">
         <match url="/*" />
         <conditions>
            <add input="{HTTP_METHOD}" pattern="^GET$" />
            <add input="{HTTP_ACCEPT}" pattern="^text/html" />
         </conditions>
         <action type="Rewrite" url="./dist/index.html" />
     </rule>
     </rules>
    </rewrite>

    <security>
      <requestFiltering>
        <hiddenSegments>
          <add segment="node_modules" />
        </hiddenSegments>
      </requestFiltering>
    </security>

    <!-- Make sure error responses are left untouched -->
    <httpErrors existingResponse="PassThrough" />

  </system.webServer>
</configuration>

应该注意的是,我没有留下任何要表达的东西。所有的路由都在这里处理

<script type="text/javascript" src="/dist/bundle.js"></script>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <webSocket enabled="false" />
    <handlers>
      <add name="iisnode" path="./app.js" verb="*" modules="iisnode"/>
    </handlers>
    <rewrite>
        <rules>
     <rule name="React Requests">
         <match url="/*" />
         <conditions>
            <add input="{HTTP_METHOD}" pattern="^GET$" />
            <add input="{HTTP_ACCEPT}" pattern="^text/html" />
         </conditions>
         <action type="Rewrite" url="./dist/index.html" />
     </rule>
     </rules>
    </rewrite>

    <security>
      <requestFiltering>
        <hiddenSegments>
          <add segment="node_modules" />
        </hiddenSegments>
      </requestFiltering>
    </security>

    <!-- Make sure error responses are left untouched -->
    <httpErrors existingResponse="PassThrough" />

  </system.webServer>
</configuration>