我与Windows Server 2008和IIS7.5有共享主机方案,并且已安装并启用了Microsoft重写模块。
<rewrite>
<rules>
<rule name="myRule" patternSyntax="Wildcard">
<!--Rewriting code-->
</rule>
</rules>
</rewrite>
那么,如何使用Microsoft重写模块将mydomain.com/everywhere-in-site/my-page.html重定向到www.mydomain.com/everywhere-in-site/my-page.html?
如果我想将www.mydomain.com/everywhere-in-site/my-page.html重定向到mydomain.com/everywhere-in-site/my-page.html,该怎么办?
答案 0 :(得分:35)
要从域中删除www并重定向到“裸域”,您可以在以下代码段中进行操作:
<rewrite>
<rules>
<rule name="Remove WWW prefix" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.yourdomain\.com$" />
</conditions>
<action type="Redirect" url="http://yourdomain.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
反过来(如果您愿意)将非www重定向到www:
<rewrite>
<rules>
<rule name="Add WWW prefix" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^yourdomain\.com$" />
</conditions>
<action type="Redirect" url="http://www.yourdomain.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
redirectType="Permanent"
当然是可选的,但对于SEO和大多数情况我会推荐它。
请参阅这些SO问题/答案: