有人知道 IgnoreRoute() 指令是否在第一个匹配的规则(如 Apache 指令)上触发,还是它们的行为不同?
我想将我的 elmah.axd 路由到与其他 .axd 文件不同的位置,因此我创建了 2 个 IgnoreRoute 规则,其中第一个规则将捕获 elmah.axd,第二个规则将捕获所有其他 .axd 文件。
这是我所拥有的:
public static void RegisterRoutes(RouteCollection routes)
{
// AXD files
routes.IgnoreRoute("AdminTools/elmah.axd/{*pathinfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//Everything else
routes.IgnoreRoute("{resource}.txt");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}