Asp.net mvc 告诉ASP.NETMVC4不要路由静态图像-CSS、JS、ICO和ZIP文件

Asp.net mvc 告诉ASP.NETMVC4不要路由静态图像-CSS、JS、ICO和ZIP文件,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Routing,我以为我已经把所有的路线都整理好了!只是需要解决一个小问题,但首先我需要解释一下我们的设置 我决定不使用全包路由器,而是在我的web.config文件中捕获HTTP错误(帮助)。首先,我关闭了老式的自定义错误: <!--<customErrors mode="Off" />--> )) 另一个是500个错误: routes.MapRoute( "Error 500", "Error/ServerError500",

我以为我已经把所有的路线都整理好了!只是需要解决一个小问题,但首先我需要解释一下我们的设置

我决定不使用全包路由器,而是在我的web.config文件中捕获HTTP错误(帮助)。首先,我关闭了老式的自定义错误:

<!--<customErrors mode="Off" />--> 
))

另一个是500个错误:

routes.MapRoute(
            "Error 500",
            "Error/ServerError500",
             new { controller = "Error", action = "ServerError500" }
        );
我的问题是:我如何才能阻止静态文件被这个陷阱捕获?多亏了,我已经解决了图像的问题,即在路由配置文件的顶部包含以下行:

routes.IgnoreRoute("{*allfiles}", new { allfiles = @".*\.(gif|jpg|png|ico)" });
但是,对于.js、.ico、.css或.zip文件,等效文件不起作用。我从另一个站点尝试:

routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*\.css(/.*)?" });
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*\.ico(/.*)?" });
但这也没起什么作用。同样为了公开起见,我在路由配置文件的顶部有这一行,但我的理解是,这只会影响找到的文件:

routes.RouteExistingFiles = true;
有人能帮忙吗?看起来MVC是经过深思熟虑的,直到使路由易于理解和实现为止

非常感谢


Andy

你试过这个吗:没有-虽然我应该试过,因为我以前使用过类似的线路通过路由器路由ASPX页面。然而,我刚刚尝试过,但它不起作用,至少对CSS文件是这样。有什么想法吗?谢谢,顺便说一句。
routes.RouteExistingFiles = true;