c# – Asp.net MVC路由不匹配某些文件扩展名

栏目: ASP.NET · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/10819200/asp-net-mvc-routing-not-matching-some-file-extensions

当包含特定文件扩展名的路由时,我遇到了路由不匹配的问题.我怀疑它可能是一个IIS问题,但我似乎无法追踪它.

首先,我关闭了RouteExistingFiles:

routes.RouteExistingFiles = false;

然后我有以下路线:

routes.MapRoute("", "category/{category}.aspx", new { controller = "Category", action = "View" });

并且以下网址与此路线不匹配:

http://mysite/category/test.aspx

但是,如果我删除文件扩展名并将路由封装到:

routes.MapRoute("", "category/{category}", new { controller = "Category", action = "View" });

然后上面的url匹配{category}被设置为“test.aspx”

我对这条路线也有同样的问题:

routes.MapRoute("sitemap", "sitemap.xml", new { controller = "Resource", action = "Sitemap" });

奇怪的是,我对所有带文件扩展名的路由都没有这个问题.以下路线似乎对我来说很好:

routes.MapRoute("", "favicon.ico", new { controller = "Resource", action = "Favicon" });
routes.MapRoute("", "min.css", new { controller = "Resource", action = "Css" });
routes.MapRoute("", "min.js", new { controller = "Resource", action = "JavaScript" });
routes.MapRoute("", "rsd.xml", new { controller = "MetaWeblog", action = "Rsd" });

是否有我应该注意的.aspx和.xml扩展名?这可能是一个IIS问题吗?调试这个比使用 RouteDebugger 更好的方法吗?

您的问题是,如果网址包含.xml或.aspx,则请求不会定向到这些操作吗?

然后我想这应该是真的,

routes.RouteExistingFiles = true;

更新:

我在两个方案中测试了以下路由,以便在IIS 7中运行的站点.

routes.MapRoute("sitemap", "{sitemap}.xml", 
                   new { controller = "Resource", action = "Sitemap" });

使用RouteExistingFiles为false,

在这种情况下,当sitemap.xml文件存在时,请求将定向到该文件,否则请求将定向到该操作.

使用RouteExistingFiles是真的,

当sitemap.xml文件存在或不存在时,请求始终指向该操作.

翻译自:https://stackoverflow.com/questions/10819200/asp-net-mvc-routing-not-matching-some-file-extensions


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法学

算法学

哈雷尔 / 第1版 (2006年2月1日) / 2006年2月1日 / 38.0

本书的意图在于按序学习或研究,而不是作为一个参考。因而按照每章依赖于前面章节的结构组织本书,且流畅易读。第一部分预备知识中的大部分材料对于那些具有程序设计背景的人是熟悉的。无论是否恰当,本书包含了计算机科学家当前感兴趣的研究专题的简明讨论。这本教科书的书后有每章详细参考书目的注记,并通过“后向”指针把教科书中的讨论与相关文献联系起来。目前的版本包含大量习题,以及大约三分之一的题解。可用题解作为教科......一起来看看 《算法学》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具