2011-05-13 5 views
1

페이지 라우팅을 사용하여 CMS 콘텐츠를 제공하는 ASP.NET 4.0 웹 양식 프로젝트에서 작업하고 있습니다.ASP.NET 4 라우팅 문제

사용 된 정확한 코드는 다음과 같습니다

routes.MapPageRoute("ContentNavigateUrl", "{*navigateurl}", "~/Router.aspx", true, new RouteValueDictionary { }, new RouteValueDictionary { { "navigateurl", @"[-_a-zA-Z0-9/]+(\.aspx(\?.+)?)?" } }); 

웹 사이트는 고정 영문 페이지의 혼합물을 가지고 있으며, CMS 페이지는 Router.aspx에 의해 제공됩니다.

CMS 콘텐츠에는/xyz/abc와 같은 URL이 있습니다.

실제 폴더가 있고 폴더에 기본 페이지가 없기 때문에 IIS는 403 오류를 보냅니다 (디렉터리 검색은 사용할 수 없음). 예를 들어

:

라는 실제 폴더/그 안에 어떤 영문 페이지 있지만 기본 페이지가 XYZ가있다

. http://domain.com/xyz을 요청하면 Router.aspx를 사용하여 대신 CMS 오류를 표시하고 CMS 콘텐츠를 표시합니다.

IIS 설정을 변경해야합니까, 아니면 내 코드에 뭔가 있습니까?

감사합니다.

+0

web.config에서 이러한 403 오류를 잡으려고 시도했지만 아무 것도 처리하지 못했습니다. John

+0

BTW, 사용중인 IIS 버전 ? 내 생각 엔 당신의 문제는 핸들러 매핑과 관련이 있으며, 약간 (예를 들어, StaticFile 핸들러 매핑을 비활성화 해보십시오) 그들과 함께 놀아보십시오. – Dmitry

+0

거기에 파일을 복사하는 것 외에는 서버에 액세스 할 수 없습니다. IIS 7.5라고 생각합니다. – John

답변

0

IIS의 /Router.aspx로 리디렉션되도록 상태 코드 403에 대한 오류 매핑을 추가하여 문제가 해결되었습니다.