2010-01-22 2 views
1

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에 directy 가면 내가 경로를 입력 결코 내가 쓰고 있어요와

. 그것은 그 핸들러에 직접갑니다. 그리고/Order /에 가면 403.14 오류가 발생합니다.

어떻게 이러한 URL을 라우팅과 함께 잡을 수 있습니까? 경로 등록 코드에서

답변

1

, 다음과 같이 쓸 수 있습니다 .. 당신의 라우팅 규칙을 통해 파일 요청을 강제해야한다

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.RouteExistingFiles = true; 
     routes.IgnoreRoute("default.aspx"); 
     [...] 

합니다.

+0

잘 작동하지만 IgnoreRoute가 작동하지 않습니다. 하지만 다음과 같습니다. routes.Add (new Route ("default.aspx", new StopRoutingHandler())); – Allrameest