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/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com