首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UrlRewriting.net将.htm重写为无扩展,但忽略了umbraco目录。

UrlRewriting.net将.htm重写为无扩展,但忽略了umbraco目录。
EN

Stack Overflow用户
提问于 2016-07-08 15:29:10
回答 1查看 101关注 0票数 0

我需要将我网站的所有遗留.htm urls重定向到无扩展urls,因此:

代码语言:javascript
复制
http://www.website.com/page.htm  -->  http://www.website.com/page

我在config/UrlRe写ing.config中创建了以下规则,它修复了上面的问题,但是创建了一个所有后台路径都返回404的问题:

代码语言:javascript
复制
<add name="HtmToExtensionless"
     redirect="Domain"
     ignoreCase="true" 
     rewriteUrlParameter="IncludeQueryStringForRewrite"
     virtualUrl="http://www.website.com/(.*)(\.htm)"
     redirectMode="Permanent"
     destinationUrl="http://www.website.com/$1" />

因此,像这样的请求返回404:

代码语言:javascript
复制
http://www.website.com/umbraco/views/components/application/umb-navigationl?umb__rnd=7.4.2.1536555776

我很确定我的问题是我的准则,但我不确定。有人想给我建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-08 16:57:30

原来我是个傻瓜。Umbraco实际上请求具有.html扩展的资源,我的正则表达式获取这些资源,并将.htm从它们中剥离出来。只要检查一下字符串的开头和结尾,现在我们就成了黄金了:

代码语言:javascript
复制
<add name="HtmToExtensionless"
     redirect="Domain"
     ignoreCase="true" 
     rewriteUrlParameter="IncludeQueryStringForRewrite"
     virtualUrl="^http://www.website.com/(.*)(\.htm)$"
     redirectMode="Permanent"
     destinationUrl="http://www.website.com/$1" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38270401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档