2010-07-12 3 views
12

특정 파일 확장명을 가진 파일의 매핑 된 경로를 제거하고 싶습니다. 난 하위 폴더로 가서 루트 디렉토리에 확장 .hello있는 모든 파일에 대한ASP.NET 라우팅 - 디렉터리에 관계없이 특정 확장명을 가진 파일의 경로 무시 ​​

RouteTable.Routes.Ignore("{root}.hello"); 

작품은, 그러나 즉시 '무시'규칙이 적용되지 않습니다.

Ive는 다양한 조합을 많이 시도했지만 컴파일러 예외를 throw하지 않거나 작동하지 않는 것을 얻을 수없는 것 같습니다.

답변

14

이것에 관해서는 Phil's blog을 확인하십시오.

예 1 : 기본적으로, 당신은 이런 식으로 뭔가를 할 것이다의 favicon.ico에 대한 요청에 대한 라우팅을 수행하지 마십시오 : 2

routes.IgnoreRoute("{*allaspx}", new {[email protected]".*\.aspx(/.*)?"}); 

예 : 모든에서 .aspx 파일에 대한 모든 요청에 ​​대한 라우팅을 수행하지 마십시오

routes.IgnoreRoute("{*favicon}", new {[email protected]"(.*/)?favicon.ico(/.*)?"}); 
4

당신이 ASP.NET MVC를 사용 IgnoreRoutes (MVC 확장 방식)을 사용하는 경우

Routes.IgnoreRoute("{*foo*}", new { foo = @"someregextoignorewhatyouwant"}); 

ASP.NET Web Forms을 사용하는 경우 IRouteHandler를 구현하는 StopRoutingHandler을 사용하십시오.

routes.Add(new Route("*someregextoignorewhatyouwant*", new StopRoutingHandler())); 
관련 문제