【发布时间】:2021-02-25 18:51:24
【问题描述】:
我正在寻找一个 URL 重写规则,以重定向从下面的 IP 子网列表中向 www.XYZ.com、inte.XYZ.com、prep.XYZ.com 和 prod.XYZ.com 发出的任何请求,以重定向到 @ 987654322@.
111.000.111.0/24
111.111.222.0/22
111.222.333.0/24
我写的规则如下:
<rule name="RedirectToXYZTest" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^www\.XYZ\.com$|^inte\.XYZ\.com$|^prep\.xyz\.com$|^prod\.xyz\.com$" />
<add input="{REMOTE_ADDR}" pattern="^111\.000\.111\.\d{1,3}$" />
<add input="{REMOTE_ADDR}" pattern="^111\.111\.222\.\d{1,3}$" />
<add input="{REMOTE_ADDR}" pattern="^111\.222\.333\.\d{1,3}$" />
</conditions>
<action type="Redirect" url="https://test.xyz.com/" />
</rule>
上面的问题是,由于 matchany 逻辑条件,该条件即使适用于任何一种条件。 我需要一个 Http_Host && 的 AND 条件来执行重定向操作。
ie 如果 url 是 www.xyz.com ,给定正则表达式中的任何 IP 地址范围,例如 111.000.111.3 都应该满足重定向的条件。
找不到入站规则的任何先决条件。
【问题讨论】:
标签: c# url url-rewriting