我需要将我网站的所有遗留.htm urls重定向到无扩展urls,因此:
http://www.website.com/page.htm --> http://www.website.com/page我在config/UrlRe写ing.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我很确定我的问题是我的准则,但我不确定。有人想给我建议吗?
发布于 2016-07-08 16:57:30
原来我是个傻瓜。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" />https://stackoverflow.com/questions/38270401
复制相似问题