You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IIS中配置Angular应用从指定基础URL提供服务

将Angular应用从子路径改为IIS根路径访问的配置步骤

一、调整Angular应用的基础路径与构建输出

  • 打开项目的src/index.html,把<base href="/client/v3/">修改为<base href="/">,确保Angular的资源和路由都以根路径为基准
  • 使用Angular CLI重新构建应用:运行ng build --prod --base-href /(开发环境可省略--prod参数)
  • 将构建生成的dist文件夹内的所有文件,复制到IIS站点的根目录(即mainSite目录,替换或覆盖原根目录下的内容,注意备份重要文件)

二、配置IIS URL重写规则(解决单页应用刷新404问题)

Angular是单页应用,直接刷新非根路径会返回404,需要通过URL重写将所有非文件/目录请求导向index.html:

  1. 确认IIS已安装URL重写模块(未安装的话,通过IIS管理器的「Web平台安装程序」搜索安装)
  2. 在IIS站点根目录创建或编辑web.config文件,写入以下配置:
<?xml version="1.0" encoding="UTF-8"?>
<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="/index.html" />
        </rule>
      </rules>
    </rewrite>
    <!-- 可选:配置静态资源长期缓存,优化加载速度 -->
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>
  1. 保存文件后,重启IIS站点使配置生效

三、清理旧部署目录(可选)

如果mainSite/client/v3下的旧应用文件不再需要,可删除该目录,避免资源混淆

四、验证配置效果

直接访问https://mainSite,检查首页加载是否正常;测试路由跳转、页面刷新操作,确保没有404错误或资源加载失败的情况

内容的提问来源于stack exchange,提问作者Tal Dayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:25:18