angular应用部署在iis上,刷新出现404
解决方案:
- 安装 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>
- 配置 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
|