我用.Net core 2.1构建了一个angular 6应用程序,并部署到IIS Web服务器上的azure服务器。刷新时,路由在本地主机上工作正常,但在azure服务器上不工作。我检查了角度deployment guideline,并在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="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
现在,我遇到了新问题。现在,所有文件都包含index.html
内容,而不是它们各自的文件内容。
我在这里想念什么?我是否需要对kestrel服务器进行任何更改
答案 0 :(得分:2)
角度指南的本部分不适用于ASP.NET Core托管的Angular应用程序。仅对于非.NET或经典ASP.NET网站,才需要重写模块定义。
如果您基于针对角度或SPA的ASP.NET Core的模板启动应用程序,则您已经设置了重写/ SPA后备路由。
我建议从使用dotnet new angular -o MyAngularApp
创建的应用程序开始,我们使用VS'的角度模板(都使用相同的模板包)。