IIS 7.5中的无限重定向循环

时间:2014-06-17 20:41:58

标签: iis redirect rewrite iis-7.5

我正在尝试添加重定向规则' www'当请求没有' www'对于该网站。即。 http://example.comhttp://www.example.com

这是规则的样子:

<rewrite>
    <rules>
            <rule name="Add www" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="example.com" />
            </conditions>
            <action type="Redirect" url="http://www.example.com" />
        </rule>
    </rules>
</rewrite>

一旦我添加了这个规则,网站就会进入无限循环而且只是出错(页面无法显示错误信息)。该服务器是全新的,它可能缺少一些重定向组件(如果有的话)。我确实安装了URL Rewrite组件并在其中添加了规则。 有什么建议? 感谢。

1 个答案:

答案 0 :(得分:3)

您尚未选择模式语法,因此使用默认的正则表达式语法。因此,您的模式与example.com和www.example.com匹配,并导致无限循环。试试这个:

<rewrite>
    <rules>
        <rule name="Add www" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="example.com" />
            </conditions>
             <action type="Redirect" url="http://www.example.com/{R:0}" />
        </rule>
    </rules>
</rewrite>