Это правило будет перенаправлять (301 постоянное перенаправление) все запросы на http://site.com/somepage.html
в http://www.site.com/somepage.html
(будет работать, если имя домена = site.com
):
<system.webServer>
<rewrite>
<rules>
<rule name="Force www" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^site\.com$" />
</conditions>
<action type="Redirect" url="http://www.site.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
Этот будет делать то же самое, нобудет перенаправлять с ЛЮБОГО SUBDOMAIN на www (например, hello.site.com => www.site.com
):
<system.webServer>
<rewrite>
<rules>
<rule name="Force www" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.site\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.site.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
ПРИМЕЧАНИЯ:
Вам потребуется модуль URL Rewrite v2присутствовать (должен работать и с v1.x, но я не могу его протестировать - только вокруг v2).
(Очевидно), ваш сайт должен принимать эти субдомены не-www.
Это правило необходимо поместить в web.config
в папке root .