IIS 7.5的web.config上的重定向过多(重定向除几页之外的所有页面)

时间:2017-06-23 20:34:20

标签: asp.net redirect iis url-rewriting web-config

我在客户的网站上有一个子域名,其中有太多地址返回404(人们通过旧链接访问)和一些存在但不应该向用户显示的地址。

所以我们决定将所有内容重定向到主页面,除了我们确实想要离开那里的几个页面,没有重定向。

代码如下所示:

<rule name="Redirect Everything" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny">

        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect1$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect2$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect3$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect4$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect5$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect6$" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/page/noredirect7$" ignoreCase="true" />

    </conditions>
    <action type="Redirect" url="http://subdomain.domain.com/page/noredirect5" appendQueryString="true" redirectType="Permanent" />
</rule>

然而,这是创建“太多重定向”的消息!关于如何停止重定向循环的任何想法?我已尝试在<clear />标记之前添加<rule>,但这并不能解决问题。

0 个答案:

没有答案