IIS 中重写规则中的多个条件



我在配置文件中的 asp.net mvc 应用程序中有一个重写规则:

<rule name="Website1" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?website1.com" />
<add input="{PATH_INFO}" pattern="^/website1/" negate="true" />
</conditions>
<action type="Rewrite" url="website1{R:0}" />
</rule>

在这种情况下,在两个条件下,规则如何运作?这两个条件都必须为真吗?

是的,这两个条件都必须为真。

规则条件

条件在重写集合中定义 统治。此集合具有称为逻辑分组的属性,该属性 控制如何评估条件。如果规则有条件,则 仅当规则模式匹配且

  • 所有条件均评估为 true,前提是 使用了logicalGrouping="MatchAll"
  • 至少一个条件 被评估为 true,前提是logicalGrouping="MatchAny"使用。

该文档不太清楚默认情况下要使用哪种逻辑分组,但我可以说它是MatchAll.

换句话说,<conditions><conditions logicalGrouping="MatchAll">相同。

最新更新