一个特定域的 IIS URL 重写

问题描述

我有一个重写规则,可以将用户mydomain.com/reset/test123 重定向mydomain.com/module.aspx?key=test123

规则运行良好,如下所示:

<rule name="Reset" stopProcessing="true">
    <match url="^reset/([_0-9a-z-]+)" />
    <action type="Redirect" url="/module.aspx?key={R:1}" appendQueryString="false" />
</rule>

唯一的问题是我的网站有多个域,并且规则适用于所有域。我需要规则只针对 mydomain.com 运行。

我尝试将匹配网址更改为 ^mydomain.com/reset/([_0-9a-z-]+),但这不起作用。

如何使重定向只针对一个特定域运行?

解决方法

只需在您的 <rule> 元素下添加一个条件:

<conditions>
    <add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>

Documentation