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

IIS站点根URL仅重定向到子路径且不影响.NET Core API的配置方法

解决方案

前提条件

  • 确保你的IIS服务器已经安装「URL重写模块」,未安装的情况下需要先完成模块安装再进行后续配置

配置方法(两种二选一即可)

方法1:直接修改根站点的web.config文件

在你托管.NET Core Web API的根站点根目录下的web.config文件中,找到<system.webServer>节点,添加以下重写规则配置:

<system.webServer>
  <!-- 此处保留你站点原有的其他配置 -->
  <rewrite>
    <rules>
      <rule name="RootRedirectToAngularApp" stopProcessing="true">
        <match url="^$" />
        <action type="Redirect" url="/angularapp" appendQueryString="true" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

配置说明:

  • match url="^$":仅匹配站点根路径http://example.com/,不会匹配任何带路径后缀的请求(包括/api/xxx、/angularapp/xxx等),天然不会影响API接口访问
  • appendQueryString="true":会自动把根路径后的查询参数带到重定向地址,比如访问http://example.com/?id=1会重定向到http://example.com/angularapp?id=1,不需要该特性可以改为false
  • redirectType="Permanent":对应301永久重定向,如果是临时调试需求可以改为Temporary对应302临时重定向

提示:请确保你的Angular子应用的index.html中base href配置为<base href="/angularapp/">,避免Angular应用的静态资源和路由出现访问异常。

方法2:IIS图形界面配置

  1. 打开IIS管理器,定位到托管.NET Core Web API的根站点
  2. 双击功能视图中的「URL重写」选项
  3. 点击右侧操作栏的「添加规则」,选择「空白规则」后确认
  4. 按以下参数填写规则:
    • 名称:自定义即可,比如根路径跳转Angular子应用
    • 匹配URL区域:请求的URL选择「与模式匹配」,使用「正则表达式」,模式输入^$
    • 条件区域:无需额外添加条件(如果有其他特殊路径需要排除可以在此处添加)
    • 操作区域:操作类型选择「重定向」,重定向URL输入/angularapp,勾选「追加查询字符串」,重定向类型按需选择301/302
  5. 点击右侧操作栏的「应用」,重启站点后规则生效

规则验证

配置完成后测试:

  • 访问http://example.com/会自动跳转到http://example.com/angularapp
  • 访问http://example.com/api/xyz等API接口完全不受影响,正常返回数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:54:03