【问题标题】:Umbraco and UrlRewriting.Net force www for canonical URLsUmbraco 和 UrlRewriting.Net 强制 www 用于规范 URL
【发布时间】:2014-08-22 20:40:39
【问题描述】:
我一直在努力让 Umbraco (7.1.4) 为没有 www 的 URL 加上 www 前缀。我不能完全掌握 UrlRewriting.Net 的语法。
我目前的解决方案是:
<add name="forcewww http"
virtualUrl="http\://(?!www\.)"
redirectMode="Permanent"
destinationUrl="http://www."
ignoreCase="true"
redirect="Domain" />
但我不希望它触发 Umbraco 后端(包含 /umbraco)的 URL。
类似(\/umbraco|\/data|\/install|\/usercontrols|\/umbraco_client))。
该解决方案应该对多个域/tlds 有效。
非常感谢您的帮助!
【问题讨论】:
标签:
asp.net
url-rewriting
umbraco
umbraco7
urlrewriting.net
【解决方案1】:
我们在 urlReWriting.config 中使用这种语法:
<add name="SEOfixMyExampleDomain"
virtualUrl="^http\://example.com/(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="http://www.example.com/$1"
redirect="Domain"
redirectMode="Permanent"
ignoreCase="true" />
(.*) 被翻译成目标域上的 $1。如果您想让它跨域,您可以用通配符匹配替换域。但我不会那样做。 对于我们在 umbraco 中配置的每个域,我们在 UrlRewriting.config 中添加一个新行。工作快速且完美无瑕。易于维护的某人决定在一个域上进行反向(非 wwww 默认值)。
我们还重定向 umbraco 特定的 URL,因为:
- /install 应在部署后删除
- /usercontrols 未在浏览器上调用
- /data 未被任何最近的包使用
- /umbraco 和 /umbraco_client:为什么不呢
除此之外,我们注意到规范网址还有助于索引正确的域...