IIS 7에서 Sitefinity CMS 웹 사이트를 실행하고 있습니다. 404 상태를 반환하려고 할 때 몇 가지 이상한 결과가 나타납니다. 현상태대로IIS 7 오류 코드
www.mysitefinitywebsite.com/test.co.uk (I이 잘못된 주소 실현,하지만 누군가가 CMS로 입력)
: 나는 같은 URL로 이동하는 경우
, 내 사용자 지정 404 페이지 (/404.aspx) 페이지가 표시됩니다
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
주소 표시 줄에 URL이 동일하게 유지 : 위의 내가 IIS는 다음 코드를 사용하여 오류를 처리하는 생각 ASPX 페이지가 아닙니다 그러나 http 상태 코드 200이 리턴됩니다.
다음과 같은 URL를 입력 할 때 그러나 경우 : -
www.mysitefinitywebsite.com/test.aspx 영문 오류 처리기는 다음과 같은 설정으로 개막 : 다시
<customErrors mode="On" >
<error redirect="~/Sitefinity/nopermissions.aspx" statusCode="403" />
<error redirect="~/404.aspx" statusCode="404" />
</customErrors>
, 내 사용자 지정 404 페이지에 주소 표시 줄의 변화, 그러나 URL을 표시됩니다
www.mysitefinitywebsite.com/404.aspx?aspxerrorpath=/test.aspx
그리고 이상하게도 Firebug를 검사하면 text.aspx에 302 코드가 반환되고 /404.aspx?aspxerrorpath=/test.aspx에는 200 상태가 반환됩니다.
여기에 무슨 일이 일어나고 있는지 완전히 이해하지 못한다. IIS가 상태 코드로 전혀 응답하지 않는 것처럼 보입니다. 완전 미친 것 같아!
의도적으로 해결할 수있는 유일한 방법은 올바른 응답 코드를 프로그래밍 방식으로 반환하는 것입니다. 사전 higgsy