Angular 2+应用程序IIS托管路由在重新加载

时间:2017-10-10 06:30:29

标签: angular iis url-rewriting routing

我在IIS 8上托管了有角度的2+应用程序。所有路由都是客户端路由,除了一些以/mutual-funds/*开头的路由。对于那些路由,我想让IIS获取该文件夹并使用其索引page.I已经写了重写规则,但它不能重新加载。任何帮助都将不胜感激。

网络配置文件是:

 <rule name="AngularJS Routes" stopProcessing="false">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="/webapp/" />
    </rule>





     <rule name="Check1" stopProcessing="false">
      <match url="/mutual-funds/"/>
      <conditions logicalGrouping="MatchAll">
        <add input="{ REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="/webapp/mutual-funds/" />
    </rule>

1 个答案:

答案 0 :(得分:0)

如果有人有回复,我会感兴趣。

作为一种变通方法,您可以使用哈希位置策略添加{ useHash: true }来提供路由器:

RouterModule.forRoot(routes, {useHash: true})

它会添加一个&#39;#&#39;在URL之后。然后,您可以使用网址http://your-context/#mutual-funds

访问您的网页

这是一篇关于位置策略的文章:https://codecraft.tv/courses/angular/routing/routing-strategies/