2012-09-27 2 views
2

스택 오버플로를 통과했지만 이에 대한 답변을 찾을 수 없습니다. 나는이 같이 확인을 표시하기 위해 500 페이지를 얻을 수 있습니다 :mvc3에서 오류 500 페이지 현지화

<customErrors mode="On"> 
    <error statusCode="500" 
     redirect="~/500.html"/> 
</customErrors> 

는 내가 뭘하고 싶은 응용 프로그램 언어를 기반으로 페이지의 지역화 된 버전을 제공하는 것입니다. 문제는 다른 많은 게시물에서 발견 된 Error Controller-View 솔루션을 통해 가고 싶지 않다는 것입니다. App (누락 된 DLL 등)에 실제 오류가있는 경우에 대비하십시오. 그래서 순수 HTML 페이지를 제공해야하지만 현지화 된 페이지를 선택하거나 IIS가이를 찾는 방법을 지시 할 수 있어야합니다.

아이디어가 있으십니까?

+0

Application_Error – VJAI

+0

아니, 아니야 ... 아니면 적어도 할 수는있어.하지만 C# 코드와 관련된 모든 것을 피하고 web.config에서 해결할 수 있는지 알고 싶었습니다. – Tallmaris

답변

0

이것은 내 머리 꼭대기에 있습니다. 브라우저가 ~/500.en-us.html 및 ~/500으로 리디렉션하도록 정의한 수락 언어를 사용하는 URL 다시 쓰기/리디렉션 규칙을 사용할 수 없습니다. .de.html 또는 경로 설정이있을 수 있습니까? Web.config의에서

예 규칙 :

<rule name="HTTP-Language-Error-Redirect" stopProcessing="true"> 
    <match url="^500.html$" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> 
     <add input="{HTTP_ACCEPT_LANGUAGE}" pattern="^([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?$" /> 
    </conditions> 
    <action type="Redirect" url="500.{C:1}.html" redirectType="Found" /> 
</rule> 

내 생각은 요청이 아닌 응용 프로그램 코드를 처리하는 IIS의 프로세스의 일부로서 redwrite/리디렉션 규칙이 작동 할 것입니다. 이론적으로 웹 애플리케이션이 어떤 이유로 고장 나면 여전히 작동 할 수 있습니다. 나는 나의 가정에서 완전히 틀릴 수 있었다. 그리고 나는 그것이 정직한 발사를 줄 것이라고 생각했다.