我发现这个代码在不使用url rewrite的情况下将www添加到url。
<rewrite>
<rules>
<clear />
<rule name="WWW Rewrite" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
但似乎网址中没有“ - ”,例如scotts-cleaners.com。
返回www.www.scotts-cleaners.com。
有什么想法吗?
答案 0 :(得分:1)
只需将-
添加到模式中:
<add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9-]+)$" />
由于连字符和字母数字构成域名中唯一允许的字符,因此您的模式现在应适用于所有网址。
答案 1 :(得分:0)
pattern="^www\.([.a-zA-Z0-9-]+)$"
显然连字符不需要在正则表达式中转义^^