수색…


소개

모든 웹 사이트는 오류를 처리해야합니다. 사용자가 IIS에서 처리하는 재고 404 또는 500 오류 페이지를 보도록하거나 Web.Config 및 간단한 컨트롤러를 사용하여 이러한 오류를 캡처하고 사용자 정의 오류 페이지를 제공 할 수 있습니다.

기본 설정

이 예에서는 404 페이지를 찾을 수 없음 및 500 서버 오류에 대한 사용자 정의 오류 페이지 작성에 대해 설명합니다. 이 코드를 확장하여 필요한 오류 코드를 캡처 할 수 있습니다.

Web.Config

IIS7 이상을 사용하는 경우 <CustomError.. 노드를 무시하고 대신 <httpErrors... 사용하십시오.

system.webServer 노드에서 다음을 추가하십시오.

<httpErrors errorMode="Custom" existingResponse="Replace">
    <remove statusCode="404" />
    <remove statusCode="500" />
    <error statusCode="404" path="/error/notfound" responseMode="ExecuteURL" />
    <error statusCode="500" path="/error/servererror" responseMode="ExecuteURL" />
 </httpErrors>

이것은 404 에러를 ~/error/notfound ~/error/servererror 500 에러는 ~/error/servererror 도록 사이트에 알려줍니다. 또한 사용자가 ~/error/... 페이지 URL을 결코 볼 수 없도록 요청 된 URL을 유지합니다 ( 리디렉션이 아닌 전송 이라고 생각 함).

다음으로 새로운 Error 컨트롤러가 필요합니다.

public class ErrorController : Controller
{
    public ActionResult servererror()
    {
        Response.TrySkipIisCustomErrors = true;
        Response.StatusCode = (int)HttpStatusCode.InternalServerError;
        return View();
    }

    public ActionResult notfound()
    {
        Response.TrySkipIisCustomErrors = true;
        Response.StatusCode = (int)HttpStatusCode.NotFound;
        return View();
    }

} 

여기서 주목해야 할 중요한 것은 Response.TrySkipIisCustomErrors = true; . 이것은 IIS를 우회하여 오류 페이지를 강제합니다.

마지막으로 해당 NotFoundServerError 보기를 작성하고 스타일을 지정하여 사이트의 디자인과 완벽하게 매끄럽게 작성하십시오.

안녕하세요 presto - 사용자 정의 오류 페이지.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow