2011-03-22 4 views
7

나는 asp.net 라우팅 기능을 사용할 프로젝트가 있습니다. 따라서 global.asax Application_start에 일부 경로를 추가했습니다.IIS 7은 파일 확장자가없는 MapPageRoute를 무시합니다.

내 Windows 7 SP1에서는 정상적으로 작동하지만 W2K8 R2 라이브 서버에 응용 프로그램을 배포 할 때 URL을 사용할 때만 404가 표시됩니다. URL의 끝에 /default.aspx를 추가하면 페이지가 올바르게 표시됩니다.

IIS는 파일 확장자가없는 URL을 무시하는 것으로 보입니다.

라이브 서버에 로컬 서버 만 404에서 작업 :

http://website/list/123/Test 

모두 서버에서 작업 :

http://website/list/123/Test/index.aspx 

가 어떻게 라이브 서버 확장 적게 URL을 사용할 수 있습니까?

+2

이 고정 다음을 추가하는 것을 잊지 마세요 : 나는 라이브 서버에서 누락 된 구성을 발견 : 난 그냥 = "사실 <의 system.webServer><모듈 runAllManagedModulesForAllRequests 추가 ">를 W2K8의 web.config에 추가하면 이제 URL이 모두 작동합니다. 그러나 나는 왜이 설정이 내 로컬 시스템에서 활성화되어 있는지 알지 못합니다. – Christoph

답변

11

은 web.config 파일에

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
+0

그 반대의 문제가 있습니다 (점이있는 경로가 정적 콘텐츠로 취급되고 "문서"가 발견되지 않음).). 그러나이 문제는 ... 정체성 관리로 인해 서버에서 실행될 때 다른 정적 컨텐츠가로드되지 않는 것을 발견 할 때까지 내 문제가 해결되었습니다. – jmoreno

관련 문제