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
- 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/
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|