Я просто учился работать с маршрутизацией в ASP.NET MVC и пытаюсь понять метод IgnoreRoute.
Я пытаюсь запретить пользователям доступ к "Content/{filename}.html"
. Я поместил это как первый вызов в свой метод RegisterRoutes. Вот мой код:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("Content/{filename}.html");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("MyRoute", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.AditionalControllers" });
routes.MapRoute("MyRoute2", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.Controllers" });
routes.MapRoute("ShopSchema2", "Shop/OldAction", new { controller = "Home", action = "Index" });
routes.MapRoute("ShopSchema", "Shop/{action}", new { controller = "Home" });
routes.MapRoute("", "X{controller}/{action}");
routes.MapRoute(
name: "",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
}
Если я попытаюсь получить доступ к такой ссылке, как localhost: 53907/Content/Static.html, она не должна позволять мне отображать файл из того, что я понимаю до сих пор, но он отображает его.
Что я делаю неправильно?