2010-03-31 2 views
3

이 질문은 this과 관련 있으며 잘하면 더 나은 표현이 가능합니다.내 사용자 지정 콘텐츠로 404 응답을 제공하도록 IIS를 구성하는 방법은 무엇입니까?

ASP.NET MVC에서 사용자 지정 404 페이지를 제공하고 싶습니다. 나는 경로 처리기 및 존재하지 않는 루트는 하나의 액션에 의해 처리되도록 설정 한 모든 인프라가 :

public ActionResult Handle404() 
{ 
    Response.StatusCode = 404; 
    return View("NotFound"); 
} 

문제 : 응답을 설정할 때 IIS가 자신 만의 콘텐츠 (일부 미리 정의 된 메시지)를 다시 제공합니다. 내용을 반환하기 전에 StatusCode를 404로 설정하십시오.

VS 개발 웹 서버에서 이것은 의도 한대로 작동합니다. 내 콘텐츠 (NotFound보기)이 제공되는 반면 HTTP 응답의 상태 코드는 404입니다.

IIS 처리 파이프 라인에서 응용 프로그램이 404를 반환하는 것을 볼 때 단순히 전체 응답을 자체 응답으로 바꿉니다.

IIS의 어떤 설정이이 동작에 영향을 줍니까?

IIS 설치에 액세스 할 수 없으므로이를 조사 할 수 없습니다.하지만 정확히 무엇을 변경해야하는지 알고 있으면 호스팅 제공 업체에게 나를 위해 구성을 조정할 것을 요청할 수 있습니다.

Response.TrySkipIisCustomErrors = true; 
+0

의 중복 가능성 [ASP.NET MVC가 : : 콘텐츠를 제공하는 방법 상태 코드 (404)를 반환하면서 (http://stackoverflow.com/questions/2547582/asp- –

+0

내 Windows 7에서 IIS 7.5에서 잘 작동하는 코드가 있지만 동일한 파일을 여러 IIS에서 작동하지 않았습니다. Windows Server의 7.5. TrySkipIisCustomErrors가 도움이되었습니다. –

답변

6

This

는 답변입니다 net-mvc-how-to-serve-content-while-return-status-code-404)
+1

이것은 IIS 7 이상에만 영향을줍니다. –

+0

예, IIS 7 및 ASP.NET 3.5에서만 작동합니다. 다행히도 이것은 정확히 제 시나리오입니다. – Marek

+0

그래, 작동하지 않는 것을 제외하고. –

관련 문제