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のようなリンクにアクセスしようとすると、これまで理解していたファイルを表示できなくなりますが、表示されます。
私は何が間違っているのですか?