C# Azure IIS路由与Angular2-->;404
我们在Azure上有一个网站,使用C#编写的REST后端和Angular2编写的前端 当我单击网页中的菜单或按钮时,会打开正确的页面,url从C# Azure IIS路由与Angular2-->;404,c#,rest,azure,iis,asp.net-web-api-routing,C#,Rest,Azure,Iis,Asp.net Web Api Routing,我们在Azure上有一个网站,使用C#编写的REST后端和Angular2编写的前端 当我单击网页中的菜单或按钮时,会打开正确的页面,url从/更改为例如/client/16 这很好,如果我理解正确,Angular2路由正在处理这个问题 但是,当我在这个页面上点击F5刷新浏览器时,我得到一个404错误:您正在查找的资源已被删除、名称已更改或暂时不可用。 同样,如果我理解正确,这是由IIS路由处理的 我已经阅读了几天关于这方面的帖子,并尝试了一些建议,主要是在Web.config中添加重写规则,但
/
更改为例如/client/16
这很好,如果我理解正确,Angular2路由正在处理这个问题
但是,当我在这个页面上点击F5刷新浏览器时,我得到一个404错误:您正在查找的资源已被删除、名称已更改或暂时不可用。
同样,如果我理解正确,这是由IIS路由处理的
我已经阅读了几天关于这方面的帖子,并尝试了一些建议,主要是在Web.config中添加重写规则,但到目前为止没有任何效果
在本地,我们没有这个问题,因为我们在VisualStudio中运行后端,在NPM中运行前端。这使得调试和解决变得非常困难
我应该怎么做才能解决这个问题?在IIS论坛上,我被指了出来 将此规则添加到my Web.config解决了我的问题:
<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" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
我以为我以前试过这个,但显然不完全;) 你认为/client/16会按照你的Angular2路线处理吗?如果是这样,您如何调用RESTAPI?