我需要将我网站的所有遗留.htm
网址重定向到无扩展网址,所以:
http://www.website.com/page.htm --> http://www.website.com/page
我在config / UrlRewriting.config中创建了以下规则,修复了上述问题,但创建了一个问题,其中所有后台路径都返回404:
<add name="HtmToExtensionless"
redirect="Domain"
ignoreCase="true"
rewriteUrlParameter="IncludeQueryStringForRewrite"
virtualUrl="http://www.website.com/(.*)(\.htm)"
redirectMode="Permanent"
destinationUrl="http://www.website.com/$1" />
所以像这样的请求返回404:
http://www.website.com/umbraco/views/components/application/umb-navigationl?umb__rnd=7.4.2.1536555776
我很确定我的问题在于我的正则表达式,但我不确定。有人建议吗?
答案 0 :(得分:0)
原来我是个骗子。 Umbraco实际上会请求具有.html
个扩展名的资源,而我的正则表达式正在抓取这些资源并从中剥离.htm
。只需检查字符串的开头和结尾,现在我们就是金色的:
<add name="HtmToExtensionless"
redirect="Domain"
ignoreCase="true"
rewriteUrlParameter="IncludeQueryStringForRewrite"
virtualUrl="^http://www.website.com/(.*)(\.htm)$"
redirectMode="Permanent"
destinationUrl="http://www.website.com/$1" />