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

如何使用IIS Rewrite将服务器名重定向至完整域名

IIS URL Rewrite 实现指定主机头的协议与域名重定向

核心规则配置

直接在网站根目录的web.config文件中添加以下URL Rewrite规则(如果已有<rewrite>节点,直接将<rules>下的内容合并进去):

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <!-- 匹配主机头为sitename的请求,重定向到带domain.com的HTTPS地址 -->
        <rule name="Redirect sitename to sitename.domain.com" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^sitename$" />
          </conditions>
          <action type="Redirect" url="https://sitename.domain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

规则说明

  • <match url="(.*)" />:匹配请求的所有URL路径部分,{R:1}会捕获这部分内容并带到重定向地址中
  • <add input="{HTTP_HOST}" pattern="^sitename$" />:精确匹配主机头为sitename的请求(不管是HTTP还是HTTPS协议)
  • appendQueryString="true":自动保留原始请求的查询字符串(比如?foo=bar)
  • redirectType="Permanent":发送301永久重定向状态码,若需要临时重定向可改为Temporary(302)

排查要点

  1. 确认IIS URL Rewrite模块已正确安装(可通过IIS管理器的模块列表查看)
  2. 检查网站的绑定设置:确保HTTP(80端口)和HTTPS(443端口)都已绑定sitename和sitename.domain.com两个主机头
  3. 若规则不生效,可启用URL Rewrite的日志功能(在IIS管理器中对应规则的“编辑规则”→“日志”选项),查看请求是否被规则匹配到
  4. 检查web.config中是否有其他优先级更高的规则,导致当前规则未被执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:55:56