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

如何为特定域名限制IIS Rewrite Map的作用范围

如何为特定域名限制IIS Rewrite Map的作用范围?

我明白你的困扰——把Rewrite Map规则限定到单个域名确实容易踩正则匹配的坑。你之前的配置问题主要出在HTTP_HOST的匹配模式不够精确,以及规则的逻辑判断上。咱们一步步来修复:

核心问题分析

你之前用的.*www.abc.com.*这种模式太宽松了,它会匹配任何包含www.abc.com字符串的域名(比如xxxwww.abc.comyyy这种奇怪的域名),而且有些配置里错误地把域名放到了match url里(url匹配的是路径部分,不是域名),导致规则意外应用到所有域名。

正确的配置方案

下面是只针对www.abc.com生效的Rewrite Map配置,我会详细标注关键点:

<rewrite>
  <!-- 规则部分:先判断域名,再匹配Rewrite Map中的路径 -->
  <rules>
    <rule name="ABC Redirects" enabled="true" stopProcessing="true">
      <!-- match url匹配所有路径,因为我们靠Rewrite Map来筛选具体路径 -->
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <!-- 精确匹配域名:用^和$限定开头结尾,转义.(正则里.代表任意字符) -->
        <add input="{HTTP_HOST}" pattern="^www\.abc\.com$" />
        <!-- 检查当前请求路径是否在ABCRedirects这个Rewrite Map中有对应的条目 -->
        <add input="{ABCRedirects:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <!-- 重定向到Rewrite Map中对应的目标路径 -->
      <action type="Redirect" url="{C:1}" appendQueryString="false" />
    </rule>
  </rules>
  <!-- 引入外部Rewrite Map文件(如果你的映射是放在单独文件里的话) -->
  <rewriteMaps configSource="abc-rewritemaps.config" />
</rewrite>

对应的abc-rewritemaps.config内容保持你原来的就行:

<rewriteMaps>
  <rewriteMap name="ABCRedirects">
    <add key="/legal" value="/privacy" />
    <add key="/good" value="/bad" />
    <add key="/hi" value="/bye" />
    <add key="/no" value="/not" />
    <add key="/123" value="/321" />
  </rewriteMap>
</rewriteMaps>

关键细节说明

  • 精确匹配域名:^www\.abc\.com$这个正则确保只有完全等于www.abc.com的域名才会触发规则,避免误匹配其他相似域名。
  • 逻辑分组:logicalGrouping="MatchAll"(默认就是这个值,可省略)要求两个条件都满足:域名正确,且当前路径在Rewrite Map中有对应条目,这样规则才会执行。
  • stopProcessing="true":确保这个规则匹配后,不会再处理后续的其他重写/重定向规则,提高效率也避免冲突。
  • REQUEST_URI的使用:{REQUEST_URI}会获取包含开头/的完整路径,和你Rewrite Map里的key格式完全匹配,保证映射准确。

测试验证

配置完成后,你可以测试:

  • 访问www.abc.com/legal,应该会跳转到www.abc.com/privacy
  • 访问www.xyz.com/legal或者www.eee.com/legal,应该不会有任何重定向,保持原路径访问

这样就能完美实现只对www.abc.com应用Rewrite Map的重定向规则了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:22:27