404 오류란 무엇인가요? HTTP 404 오류는 링크가 가리키는 웹페이지가 존재하지 않거나, 즉 원래 웹페이지의 URL이 유효하지 않다는 의미로, 이는 자주 발생하며 피하기 어려운 현상입니다. 예를 들어, 웹 페이지 URL 생성 규칙 변경, 웹 페이지 파일 이름 변경 또는 이동, 가져오기 링크의 철자 오류 등으로 인해 원래 URL 주소에 접근할 수 없게 되는 경우가 있습니다; 웹 서버가 유사한 요청을 받으면, 요청할 자원이 존재하지 않음을 알리는 404 상태 코드를 반환합니다. 하지만 Apache든 IIS든 웹 서버의 기본 404 오류 페이지는 매우 원시적이고 지루하며 사용자 친화적이지 않아 사용자에게 더 많은 단서를 얻을 수 있는 필요한 정보를 제공하지 않아 사용자 이탈을 초래할 수 있습니다. 404페이지의 역할 검색 엔진은 웹 페이지의 상태를 식별하기 위해 HTTP 상태 코드를 사용합니다. 검색 엔진이 잘못된 링크를 받으면, 웹사이트는 404 상태 코드를 반환하여 검색 엔진이 링크를 색인화하는 것을 중단하도록 알려야 합니다. 200 또는 302 상태 코드가 반환되면 검색 엔진이 링크를 인덱싱하여 동일한 웹 콘텐츠로 가리키는 많은 다른 링크가 생성됩니다. 그 결과, 검색 엔진은 사이트를 훨씬 덜 신뢰하게 됩니다. 커스텀 404 페이지가 "404" 상태 코드를 반환하는지 확인하는 방법 사용자 지정 404 오류 페이지를 설정한 후에는 "404" 상태 코드가 올바르게 반환되는지 꼭 확인하세요. 검사 방법도 매우 간단합니다. 웹페이지에 존재하지 않는 웹사이트의 URL을 입력하고, HTTP 헤더의 반환을 확인한 후 "404" 상태 코드를 반환하는지 확인합니다. 404 페이지가 올바른 선택입니다 1. Apache 서버 404 페이지 설정 방법 코드를 .htaccess 파일에 추가하세요: ErrorDocument 404/Error.html 간단한 HTML404 페이지 이름을 만들어 Error.html 웹사이트의 루트 디렉터리에 Error.html 배치하세요. 2. IIS/ASP.net 아래에 404 오류 페이지를 설정하세요 먼저, 애플리케이션의 루트 디렉터리 설정을 수정하고, "web.config" 파일을 열어 편집한 뒤, 다음 내용을 추가하세요: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <error statusCode="404" redirect="notfound.asp" /> </customErrors> </system.web> </configuration>
이 예시에서 error.asp는 기본 404 페이지이고 notfound.asp은 맞춤형 404 페이지입니다.
그 다음, 커스텀 404 페이지 "notfound.asp"을 추가하세요: <% Response.Status = "404 찾을 수 없음" %>
이로 인해 IIS가 "404" 상태 코드를 올바르게 반환할 수 있습니다
친절한 알림 1. 404 오류를 웹사이트 홈페이지로 직접 보내지 않도록 주의하세요. 그렇지 않으면 홈페이지가 포함되지 않을 수 있습니다; 2. /Error.html 메인 도메인 이름을 앞에 두지 마세요(잘못된 철자: yzznl.cn/error.html, 올바른 표기로 :/error.html). 그렇지 않으면 상태 코드가 302 또는 200 상태 코드로 반환됩니다. asp.net 웹사이트에서 404 오류 페이지를 커스터마이즈하는 방법을 찾을 때, 대부분의 글에서는 web.config로 가서 system.web을 찾아 다음 설정을 하라고 안내합니다.
코드 복사 코드는 다음과 같습니다:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" > </customErrors>
실제로 이렇게 하면 404 찾지 못한 웹페이지의 헤더 정보가 아니라 302 임시 리다이렉트의 헤더 정보를 받게 됩니다. HTTP 상태 코드를 확인하려면 Check 헤더 도구 도구를 사용할 수 있습니다.
그렇다면 웹사이트에 맞게 맞춤 404 오류 웹페이지를 어떻게 올바르게 설정할 수 asp.net 까요?
먼저 404.aspx 페이지를 만들고, web.config 파일 아래 customeErrors 내에서 다음과 같이 구성하세요: customErrors redirectMode="ResponseRewrite" error statusCode="404" redirect="~/404.aspx"/
/customErrors
RedirectMode는 두 가지 속성을 가지고 있습니다. ResponseRedirect는 사용자를 해당 오류 페이지로 리디렉션하고, 원래 URL을 해당 오류 페이지의 URL로 변경하는 것을 의미합니다. ResponseRewrite는 브라우저의 원래 URL을 변경하지 않고 사용자를 오류 페이지로 안내하는 것을 의미합니다.
그 다음 404.aspx.cs 파일에 Page_Load 이벤트에 대한 다음 코드를 추가하세요: 코드 복사 코드는 다음과 같습니다:
protected void Page_Load(object sender, EventArgs e)
{ Response.Status = "404 찾을 수 없음";
}
|