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