【发布时间】:2011-01-27 21:05:09
【问题描述】:
我想确保访问http://example.com/* 的任何人都会自动重定向到http://www.example.com/*。目前,IIS 允许使用任何一种 URL 形式,这意味着可以通过多个 URL 访问任何页面,这有许多缺点(SEO 等)。
有没有办法在 IIS(尤其是 IIS 6)中内置而无需设置像 this 这样的第三方重写引擎?杀蚊子好像火箭筒一样。
【问题讨论】:
标签: iis
我想确保访问http://example.com/* 的任何人都会自动重定向到http://www.example.com/*。目前,IIS 允许使用任何一种 URL 形式,这意味着可以通过多个 URL 访问任何页面,这有许多缺点(SEO 等)。
有没有办法在 IIS(尤其是 IIS 6)中内置而无需设置像 this 这样的第三方重写引擎?杀蚊子好像火箭筒一样。
【问题讨论】:
标签: iis
简单的方法是删除“www.mysite.com”的 DNS 条目,因此唯一存在的 DNS 条目是“mysite.com”。
或者,这里有一些重定向到规范 URI 的技术:
基本上,您希望将非规范 URI 的 301 Moved Permanently 状态连同规范 URI 一起交回,以便用户代理可以加载它。
【讨论】:
我有另一个解决方案:
<rule name="Canonical domain name" enabled="true" stopProcessing="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>
【讨论】: