将除URL1之外的所有流量从URL1重定向到URL2

时间:2015-10-05 18:35:50

标签: url-rewriting iis-8

我需要做的是将所有流量从URL1重定向到URL2,除非请求URI是/ certain-directory。除此之外,我还需要将任何有关URL1 /某个目录的内容重定向到URL2 /某个目录。

以下是我提出的2条规则,我正在进行故障排除。

    <rule name="Redirect to certain-directory" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_URI}" pattern="^/certain-directory$" />
                    <add input="{HTTP_HOST}" pattern="^URL1$" />
    </conditions>
    <action type="Redirect" url="http://URL2/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Redirect from certain-directory" stopProcessing="false">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_URI}" pattern="^/$" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/certain-directory$" negate="true" />
                    <add input="{HTTP_HOST}" pattern="^URL2$" />
    </conditions>
    <action type="Redirect" url="http://URL1/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>

1 个答案:

答案 0 :(得分:0)

事实证明我刚刚结束了request_uri的错误。而不是

<add input="{REQUEST_URI}" pattern="^/certain-directory$" negate="true" />

我只是需要

<add input="{REQUEST_URI}" pattern="^/certain-directory" negate="true" />