在web.config中使用<rewrite>重定向

时间:2018-02-12 11:57:13

标签: c# .net iis

我正在尝试使用以下web.config配置将网址重定向到新的目标网址,但在页面加载期间,它无法按预期工作,

<rewrite>
    <rules>
        <rule name="Benefits to maxxia redirect" stopProcessing="true">
            <match url="http://website1.com/page/calculate" />
            <action type="Redirect" url="https://website2.com/page/package" />
        </rule>
    </rules>
</rewrite>

请让我知道我在这里失踪了什么。

1 个答案:

答案 0 :(得分:3)

match网址是一个正则表达式,仅匹配网址的路径,不包括域名或协议。

<rewrite>
    <rules>
        <rule name="Benefits to maxxia redirect" stopProcessing="true">
            <match url="^page/calculate" />
            <action type="Redirect" url="https://website2.com/page/package" />
        </rule>
    </rules>
</rewrite>

另一方面,Redirect网址可​​以是绝对网址,也可以是相对网址,因此您的示例很好。

可以使用条件将URL的域名或协议部分与shown in this post相匹配。例如,要将http://authoring.mjleague.com.au/calculator重定向到http://iotg.mjleague.com.au/calculator

<rewrite>
    <rules>
        <rule name="Calculator redirect" stopProcessing="true">
            <match url="^calculator" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="authoring.mjleague.com.au" />
            </conditions>
            <action type="Redirect" url="http://iotg.mjleague.com.au/calculator" />
        </rule>
    </rules>
</rewrite>

参考: