Angular 5 App抛出HTTP错误404.0-由IdengtityServer 4授权后未找到

时间:2018-08-02 06:29:27

标签: angular iis http-status-code-404 identityserver4

我有Angular 5应用程序(纯html-ts应用程序),该应用程序重定向到IdentityServer 4 MVC网站进行登录。成功登录后,页面将重定向回URL中带有id_token的角度应用程序索引页面。索引页面具有仪表板视图。

当我在VS Code上运行时,在本地一切正常。

仅当部署到IIS时才会出现问题。成功登录后,它会返回索引页面,但会抛出 HTTP错误404.0-找不到 您要查找的资源已被删除,名称已更改或暂时不可用。

我尝试在IIS中设置baseurl,maxQueryStringValue以及我可以在Internet上找到的所有内容。这只是不想工作:(

过去2天一直试图解决此问题,但没有运气。 enter image description here

1 个答案:

答案 0 :(得分:2)

要使路由在IIS上的Angular应用中正常工作,您需要在Web.config中添加以下内容。

在应用程序文件夹中创建一个Web.config文件。 在Web.config中添加以下内容

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS Routes" stopProcessing="true">
          <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="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

希望这会有所帮助。