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

IIS中实现从根域名https://my.site.nl重定向到/site目录的方法

IIS根目录重定向至/site文件夹的解决方案

为什么你之前的配置没生效

你添加的httpRedirect配置里,childOnly="true"参数会让重定向只对子目录的请求生效,根目录(https://my.site.nl)的请求不会触发这个规则,所以没效果。

两种可行的解决方法

方法一:修改httpRedirect配置(适合不需要保留/webservice访问的场景)

直接移除childOnly="true",调整后的配置如下:

<httpRedirect enabled="true" destination="https://my.site.nl/site/" httpResponseStatus="Permanent" />

注意:这个配置会将所有请求(包括/webservice)都重定向到/site,如果需要保留/webservice的正常访问,不要用这个方法。

方法二:使用URL Rewrite规则(灵活适配场景)

在根目录web.config的<system.webServer>节点下添加以下URL Rewrite规则,这种方式只会重定向根目录请求,不会影响/webservice或/site内部的请求:

<rewrite>
  <rules>
    <!-- 匹配根目录空路径,重定向到/site -->
    <rule name="Root to Site Redirect" stopProcessing="true">
      <match url="^$" />
      <action type="Redirect" url="/site/" redirectType="Permanent" />
    </rule>
    <!-- 可选:仅当请求主机是my.site.nl时才触发重定向(避免多域名场景误触发) -->
    <rule name="Specific Domain Root Redirect" stopProcessing="true">
      <match url="^$" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^my\.site\.nl$" />
      </conditions>
      <action type="Redirect" url="/site/" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

额外检查点

  • 如果使用URL Rewrite方法,确保你的IIS服务器已经安装了URL Rewrite模块
  • 检查web.config中已有规则(比如HTTPS重定向)的顺序,新规则放在已有规则前后都可以,但要保证stopProcessing="true"设置正确
  • 测试前清空浏览器缓存,因为永久重定向(301)会被浏览器缓存,可能导致测试结果不准确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:12:11