我在 IIS服务器中部署了角度应用程序(fornt-end-app),并部署了 asp.net Web API应用程序(后端-app)在另一台服务器中(对于角度应用程序和asp.net Web api应用程序,请使用其他服务器)。
当我进入角度应用程序URL 时,我可以访问我的网页。当我单击菜单项时,有角路由器会将我路由到请求的URL,但是在输入在浏览器中请求的URL 时,出现找不到IIS 404 错误。
对此问题一无所知。
答案 0 :(得分:2)
发生这种情况是因为IIS对客户端路由一无所知,因此,您必须编写一条重写规则,该规则规定始终将流量定向到未知URL到Angular应用程序的索引文件。完成此操作后,Angular将负责提供正确的路线。
答案 1 :(得分:1)
IIS正在尝试路由您的请求。将IIS设置为重定向到root。 IIS重定向到root之后,Angular Routing将选择其余路由。
这是我的Web.config中的内容。
<rule name="Force Index.html" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_URI}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>