我正在尝试添加重定向规则' www'当请求没有' www'对于该网站。即。 http://example.com至http://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组件并在其中添加了规则。 有什么建议? 感谢。
答案 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>