Как заблокировать доступ к файлам при использовании System.Web.Routing.UrlRoutingModule?
Я использую System.Web.Routing.UrlRoutingModule.
С этим я пишу:
routes.Add(new Route(@"cart/add", new RouteHandler("~/Order/CartAdd.ashx")));
routes.Add(new Route(@"cart/delete", new RouteHandler("~/Order/CartDelete.ashx")));
...
И у меня также есть один маршрут под названием:
routes.Add(new Route(@"{*url}", new RouteHandler("~/Error/PageNotFound.ashx")));
Но если я сразу перейду к /Order/CartAdd.ashx, я никогда не войду в маршрут. Это идет непосредственно к тому обработчику. И если я иду в / Order / я получаю ошибку 403.14.
Как мне вместо этого поймать эти URL с помощью маршрутизации?
1 ответ
Решение
В вашем коде регистрации маршрута вы можете написать что-то вроде этого..
public static void RegisterRoutes(RouteCollection routes)
{
routes.RouteExistingFiles = true;
routes.IgnoreRoute("default.aspx");
[...]
Который должен форсировать запросы файлов через ваши правила маршрутизации.