问题:每当我重新加载除主页面以外的任何页面时,都会出现404 Not Found错误。它仅在Azure上发生(本地主机工作正常)。
我正在使用Angular 5。
这是浏览器向我显示的页面重新加载内容:
“您正在寻找的资源已被删除,名称已更改或暂时不可用。”
网站网址:http://learnwithmentor.azurewebsites.net/
Web.config:https://github.com/ss-ita/learnwithmentor-server/blob/master/LearnWithMentor/Web.config
答案 0 :(得分:1)
您可能正在使用Angular路线,对吗?您需要添加一些URL重写,因为IIS当前正在检查URL指向的文件或目录是否存在。而且由于他们不这样做,它会给您一条错误消息。
这进入web.config
下的system.webServer
:
<rewrite>
<rules>
<rule name="Angular 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>