多域名场景下IIS10 UrlRewrite规范规则修改咨询(DNN CMS)
解决DNN多域名WWW重定向问题
针对你在单个IIS网站部署DNN多门户的场景,无需逐个添加条件项,只需配置一条通用的UrlRewrite规则即可实现所有绑定域名的非WWW到WWW重定向,同时适配DNN的多门户机制。
具体规则配置
将以下规则添加到你的web.config文件的<rewrite><rules>节点中(确保放在DNN自带的URL规则之前):
<rule name="Redirect Non-WWW to WWW" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <!-- 匹配所有不以www.开头的主机头 --> <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)$" /> <!-- 限制仅处理绑定的目标域名,避免误匹配其他主机头 --> <add input="{HTTP_HOST}" pattern="^(mydomain1\.com|exampledomain\.com|thirddomain\.com)$" /> </conditions> <!-- 动态拼接带www的目标URL,保留原路径和查询参数,使用301永久重定向(对SEO友好) --> <action type="Redirect" url="https://www.{C:1}/{R:1}" redirectType="Permanent" /> </rule>
规则说明
- 条件逻辑:
- 第一个条件
^(?!www\.)(.*)$用负向预查匹配所有非WWW开头的域名,并将域名主体捕获到{C:1}变量中; - 第二个条件限定仅处理你绑定的三个域名,防止规则作用于其他未预期的主机头(比如测试环境域名)。
- 第一个条件
- 重定向动作:
https://www.{C:1}/{R:1}动态拼接目标URL:{C:1}对应捕获的域名主体,{R:1}保留原请求的路径和查询参数;redirectType="Permanent"指定301永久重定向,符合Google搜索控制台对规范URL的要求,有助于SEO权重传递。
扩展适配(可选)
如果需要同时兼容HTTP和HTTPS请求,可将动作中的https://替换为{HTTPS}://,让规则自动匹配原请求的协议:
<action type="Redirect" url="{HTTPS}://www.{C:1}/{R:1}" redirectType="Permanent" />
注意事项
- 确保该规则优先级高于DNN自带的URL重写规则,避免DNN先处理URL导致重定向失效;
- 测试时使用浏览器开发者工具查看网络请求,确认重定向状态码为301,目标URL正确;
- 在Google搜索控制台中设置带WWW的域名作为首选域名,进一步解决规范URL报错问题。
内容的提问来源于stack exchange,提问作者UserSN
相关产品推荐
相关产品推荐

