2009-11-11 2 views
2

사용자 지정 404.htm이있는 asp.net 사이트가 있습니다. aspx를 처리하기 위해 customErrors 섹션과 함께 구성됩니다.nonasp.net URL에 대한 IIS7의 ASP.net 사이트에 대한 사용자 지정 404 페이지

<customErrors mode="On" defaultRedirect="404.htm">
<error statusCode="403" redirect="404.htm" />
<error statusCode="404" redirect="404.htm" />
</customErrors>
<system.webServer>
<httpErrors>
<error statusCode="404" path="404.htm" />
<error statusCode="500" path="404.htm" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true"> ...
</system.webServer>

그것은 잘 wrongname.aspx 처리합니다. 그러나 wrongname.htm과 같은 비 aspx 요청의 경우 IIS7은 여전히 ​​내 사용자 정의가 아닌 일반 오류 메시지를 반환합니다. 그에게 500을 포함하여이 사이트의 모든 오류가 발생하도록 강제하는 방법은 무엇입니까? 모듈을 작성해야합니까? 아니면 선언적으로 작성할 수 있습니까?

답변

0

웹 사이트의 IIS 설정을 통해 대부분의 HTTP 오류에 대한 사용자 정의 오류 페이지를 설정할 수 있습니다. (IIS 5에서 이것은 Properties-> Custom Errors 탭입니다. IIS30에서 찾을 수있는 위치가 확실하지 않습니다.)

0

사용자 지정 404를 적용하려면 적절한 IIS 비트를 적용하기 위해 IIS의 적절한 비트를 설정해야합니다. 확장을 사용하고 있습니다.

IIS7의 통합 파이프 라인의 경우 기본 설정이 모든 확장을 처리하는 것으로 생각했습니다.

먼저 Classic 또는 Integrated로 실행중인 앱이 있는지 확인합니다. 이전 버전이 문제의 일부일 경우에는 후자의 경우 문제가됩니다. 매번이 작업을해야합니다. t 충분히해라.)

0

로컬에서 테스트 할 때 iis7은 httpErrors, errorMode="Custom"에 속성을 추가하지 않으면 일반 오류 메시지를 표시하는 경향이 있습니다. 이를 허용하려면 C:\Windows\System32\inetsrv\config\applicationHost.config을 수정해야합니다.