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

Angular项目部署至IIS非根路径后加载失败的解决咨询

解决Angular部署到IIS子应用路径错误的方案

这个问题我碰到过好多次啦,本质是Angular默认认为自己部署在网站根目录,不知道你把它放在了/MyProject这个子应用路径下,所以请求资源时自动省略了这个前缀。给你几个靠谱的解决办法:

方法一:构建时直接指定基础路径

最直接的方式就是在ng build命令里加上--base-href参数,明确告知Angular它的根路径:

ng build --base-href "/MyProject/"

执行这个命令后,构建产物里的index.html会自动生成<base href="/MyProject/">标签,所有后续资源请求都会自动带上这个前缀,路径错误的问题就能解决。

方法二:修改项目配置文件(angular.json)

如果你不想每次构建都手动加参数,可以直接在项目配置里固化这个设置:
找到angular.json中projects -> 你的项目名 -> architect -> build -> options节点,添加"baseHref": "/MyProject/"配置,示例如下:

"options": {
  "baseHref": "/MyProject/",
  // 其他原有配置...
}

之后直接运行ng build,构建产物会自动使用这个根路径。

方法三:手动修改已构建产物的index.html

如果已经完成构建但没设置路径,也可以临时修改dist目录下的index.html:
找到原有<base href="/">这一行,修改为:

<base href="/MyProject/">

⚠️ 注意:这个方法是临时方案,下次重新构建时会被覆盖,更推荐前两种方法。

另外补充个小细节:IIS这边转换为应用程序时,要确保应用程序池选择无托管代码的类型(因为Angular是静态前端资源),且物理路径准确指向你复制过去的Angular构建产物目录,不要指向父目录哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:50:29