Angularjs 将HashLocationStrategy与Adal一起使用会导致无限路由

Angularjs 将HashLocationStrategy与Adal一起使用会导致无限路由,angularjs,angular-cli,Angularjs,Angular Cli,在AngularCLI应用程序中,我使用adal-angular4进行登录验证。当部署在Azure中时,当路由从主页和登录流开始时,应用程序工作正常。但是在任何其他路径上刷新页面都会产生404错误 错误:您正在查找的资源已被删除、名称已更改或暂时不可用 发现Hashlocationstrategy解决了这个问题,所以我将它添加到我的AppModule中 这会将我的应用程序置于localhost中,以便在登录阶段循环。应用程序从未到达主页 应用程序不断循环这两条路线。有什么办法可以解决这个问题吗

在AngularCLI应用程序中,我使用adal-angular4进行登录验证。当部署在Azure中时,当路由从主页和登录流开始时,应用程序工作正常。但是在任何其他路径上刷新页面都会产生404错误

错误:您正在查找的资源已被删除、名称已更改或暂时不可用

发现Hashlocationstrategy解决了这个问题,所以我将它添加到我的AppModule中

这会将我的应用程序置于localhost中,以便在登录阶段循环。应用程序从未到达主页


应用程序不断循环这两条路线。有什么办法可以解决这个问题吗?

我通过在我的应用程序中添加一个web.config文件并将其包含在dist build文件夹中解决了这个问题

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS" stopProcessing="true">
          <match url="^(?!.*(.bundle.js|.bundle.map|.bundle.js.gz|.bundle.css|.bundle.css.gz|.png|.jpg|.ico|.eot|.woff2|.woff|.svg|.ttf)).*$" />
          <conditions logicalGrouping="MatchAll">
          </conditions>
          <action type="Rewrite" url="/"  appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
    <staticContent>
            <remove fileExtension=".eot" />
            <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
            <remove fileExtension=".ttf" />
            <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
            <remove fileExtension=".svg" />
            <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
            <remove fileExtension=".woff" />
            <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
            <remove fileExtension=".woff2" />
            <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
            <remove fileExtension=".json" />
           <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
</configuration>