2012-12-20 3 views
3

나는 asp.net mvc에서 프로젝트를 가지고있다. 그리고 거기에 내가 해결하는 방법을 잘 모릅니다 문제 : 내가 Web.config의 오류 처리에 추가하고, 그 확인이지만, 잘못asp.net mvc 404 코드 오류

HTTP/1.1 302 Found 
Content-Length: 157 
Location: /Error404.html?aspxerrorpath=/fghdhdfghg 

을 반환, 난 HTTP/찾을 수 없음 1.1 (404)가 필요합니다. 나는

that site

내 error404.html 페이지에 대한 오류 코드를 설정하는 방법을 알아에서 테스트 한? 난 모두 하드 코드 된 페이지 & MVC 작업을 tryed있다.

+0

사용자 정의 오류 처리를 비활성화 해 보셨습니까? – jrummell

+0

하지만 해당 페이지에 대한 사용자 지정 디자인이 필요합니다 – SiarheiK

답변

2

Response.StatusCode = 404을 설정하거나 HttpNotFoundResult을 컨트롤러에서 반환 할 수 있습니다.

+0

해당 메서드는 해당 페이지에 대한 사용자 지정 디자인을 사용할 수 있습니까? HTTP/1.1 테스터 HTTP/1.1 404 찾지 못했지만 기본 asp.net 디자인 [링크] (http://puu.sh/1Dv4n) – SiarheiK

+0

보기 반환하기 전에 컨트롤러에서 StatusCode 설정할 경우 예 : – MarkG

+0

thancks . 하지만 그것은 또한'Response.TrySkipIisCustomErrors = true;'로 설정되어야합니다. – SiarheiK

0

404 오류가 발생한 경우 대체 페이지를 사용하도록 지정하여 구성에서이를 명시 적으로 요청했기 때문에 302 (객체 이동)가 표시됩니다. 당신의 다른 선택은 웹 서버가 404 오류를 되돌려 보내도록하는 것이지만, HTML 컨텐트를 보낼 수있는 기회는 없을 것입니다 (아마 리다이렉션의 모든 이유).

0

302는 오류가 아닙니다. 웹 브라우저/검색 엔진에 처음 사용 된 URL을 계속 사용해야한다는 것을 알려주는 것은 "일시적으로 이동 됨"에 대한 HTTP 상태 코드입니다.

mod_rewrite, PHP의 header() 및 기타 URL 변경 스키마를 사용하는 경우 302 리디렉션이 일반적입니다. 귀하의 웹 서버에서 사용할 수있는 캐싱 .. ???

관련 문제