angular应用部署在iis上,刷新出现404
解决方案:
安装 iis URL Rewrite 模块,配置urlrewrite如下:
在 src 目录下增加web.config,内容如下:
<configuration> <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> </system.webServer> </configuration>
配置 web.config 自动打包
修改 angular-cli.json文件(angular2-5)
"apps": [ { "root": “src”, "ourDir": “dist”, "assets": [ “assets”, “favicon.ico”, “web.config” ],
修改 angular.json 文件(angular6)
“build”: { "options”: { . . . "assets": [ “src/assets”, “src/favicon.ico”, “src/web.config” ],
Reference
- https://github.com/WeihanLi/TechNotes/issues/16
- https://stackoverflow.com/questions/43785928/angular-2-hosted-on-iis-http-error-404
- https://blogs.msdn.microsoft.com/premier_developer/2017/06/14/tips-for-running-an-angular-app-in-iis/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。