我需要找到一种简单而通用的方法来捕获任何http://www.sub.example.com
URL 并将它们重定向到http://sub.example.com
(即去除 www)
我宁愿为服务器实现一次,而不是为每个站点实现一次,也许使用 IIS 重写器?
我需要找到一种简单而通用的方法来捕获任何http://www.sub.example.com
URL 并将它们重定向到http://sub.example.com
(即去除 www)
我宁愿为服务器实现一次,而不是为每个站点实现一次,也许使用 IIS 重写器?
您需要在 IIS URL 重写模块中创建一个重定向规则,如下所示:
匹配 URL
请求的 URL:
Matches the Pattern
使用:
Regex
模式:
*
和Ignore case
条件
逻辑分组:
Match Any
输入:
{HTTP_HOST}
类型: 匹配模式 模式:
^(www\.)(.*)$
服务器变量 留空。
操作 操作类型:
Redirect
重定向 URL:
https://{C:2}{PATH_INFO}
附加查询字符串:
checked
重定向类型:Permanent (301)
应用规则并运行 IISReset。
或者,在安装模块后,您可以修改 web.config 如下:
此规则旨在检查任何 URL (*),找到“www”的实例。(默认情况下不区分大小写)在 {HTTP_HOST} 中,然后重定向到规范主机名 {C:2} 的第二部分,并将路径的其余部分附加到末尾 {PATH_INFO}。
http://bad.www.example.com/some/page.html
如果有类似as it will return的请求,这条规则可能会让你失败https://www.example.com/some/page.html
,但它应该适用于大多数情况。