angular部署到iis出现404解决方案

angular应用部署在iis上,刷新出现404

解决方案:

  1. 安装 iis URL Rewrite 模块,并在 src 目录下增加web.config,配置urlrewrite如下:
<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>
  1. 配置 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://www.cnblogs.com/weihanli/p/9227570.html