我有Angular 5应用程序(纯html-ts应用程序),该应用程序重定向到IdentityServer 4 MVC网站进行登录。成功登录后,页面将重定向回URL中带有id_token的角度应用程序索引页面。索引页面具有仪表板视图。
当我在VS Code上运行时,在本地一切正常。
仅当部署到IIS时才会出现问题。成功登录后,它会返回索引页面,但会抛出 HTTP错误404.0-找不到 您要查找的资源已被删除,名称已更改或暂时不可用。
我尝试在IIS中设置baseurl,maxQueryStringValue以及我可以在Internet上找到的所有内容。这只是不想工作:(
答案 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>
希望这会有所帮助。