웹페이지 URL 을 잘못 입력하였을 경우 404error 페이지가 뜬다. 트래픽을 초과하면 503 에러가 뜬다. 대부분의 개인 사이트에서는 그다지 필요성을 못 느끼기 때문에 에러페이지를 따로 만들어 놓지 않고 사용하는데.... 시간 날 때 만들어 두면 조금 보기 좋을 것이다.
여기서 소개하는 내용은 그걸 만들자는 것이 아니라 비교적 페이지를 효율적(?)으로 구성하는 방법을 소개한다. 내가 현재 사용하고 있는 소스 그대로를 올려본다. 나름 웹표준에 맞춰 코딩하였다.
이 소스를 공개하는 것은 에러페이지를 만드는데 도움을 주고자함이 아니라 변수를 활용하는 방법을 실전에 사용하는 간단한 예제로 보여주기 위함이다.
일단 나는 에러페이지를 4개 만들어 두었다.
403 - 무단링크 되었을 경우 출력하는 에러메시지
404 - url 입력 오류시 출력하는 에러메시지
503 - 트래픽용량 초과시 출력하는 에러메시지
ERROR - 그 외의 문제 발생시 출력하는 에러메시지
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>대류커뮤니티 :: ERROR</title>
<meta name="author" content="Daerew" />
<meta name="nationality" content="korean" />
<meta name="copyright" content="copyright ⓒ 2005 daerew.com" />
<meta name="keywords" content="css, css2, css3, xhtml, html, web design, design, zeroboard, javascript, 대류, 대류커뮤니티, 웹디자인, 디자인, 웹표준, 나모, 제로보드, 스킨" />
<meta name="content-language" content="kr" />
<meta http-equiv="content-type" content="text/html; charset=euc-kr" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="build" content="2005.08.11" />
<style type="text/css">
<!--
a:link {
color: #666;
text-decoration: none;
}
a:visited {
color: #666;
text-decoration: none;
}
a:hover {
color: #666;
text-decoration: underline;
}
a:active {
color: #666;
text-decoration: none;
}
body {
margin: 0 auto;
padding: 0;
font-family: Dotum, 돋움, Gulim, 굴림, Arial, sans-serif;
font-size: 9pt;
color: #666;
text-align: center;
background-image: url(etc/image/error/error_v.gif)undefinedundefined;
background-repeat : repeat-y;
background-position: right bottom;
}
h1 {
font-family: verdana, tahoma, sans-serif;
font-weight: bold;
font-size: 50pt;
color: black;
line-height: 100%;
}
.color_a0a0a0 {color: #a0a0a0;}
#bg_daerew {
position: absolute;
bottom: 0;
right: 0;
width: 430px;
height: 400px;
background-image: url(etc/image/error/error_daerew.gif)undefinedundefined;
background-repeat: no-repeat;
background-position: right bottom;
}
#bg_bottom {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 400px;
background-image: url(etc/image/error/error_h.gif)undefinedundefined;
}
#content {
position: absolute;
top: 30px;
left: 50px;
text-align: justify;
line-height: 150%;
}
-->
</style>
</head>
<body>
<div id="bg_bottom"></div>
<div id="bg_daerew"></div>
<div id="content">
<? if($error==403) { ?>
<h1>403 ERROR</h1>
무단링크가 의심되어 접근을 차단합니다.
<? } elseif($error==404) { ?>
<h1>404 ERROR</h1>
찾으시는 문서의 URL이 잘못되었거나 없습니다.
확인하신 후에 다시 시도하시기 바랍니다.
대류커뮤니티의 올바른 접속 URL는 http://www.daerew.com 입니다.
<? } elseif($error==503) { ?>
<h1>503 ERROR</h1>
대류커뮤니티의 트래픽 제한량 1500MB를 초과하였습니다.
00:00 시를 기점으로 트래픽이 초기화되어 접속하실 수 있습니다.
<? } else { ?>
<h1>ERROR</h1>
찾으시는 문서의 URL이 잘못되었거나 없습니다.
확인하신 후에 다시 시도하시기 바랍니다.
<? } ?>
<p>
<a href="javascript:history.back(" title="이전페이지로 이동합니다.">이전페이지</a>
<span class="color_a0a0a0">l</span>
<a href="http://www.daerew.com" title="http://www.daerew.com으로 이동합니다.">대류커뮤니티</a>
</p>
</div>
</body>
</html>
불러올 때는 아래와 같이 하면 된다.
http://www.daerew.com/error.html?error=403
http://www.daerew.com/error.html?error=404
http://www.daerew.com/error.html?error=503
http://www.daerew.com/error.html?error=error
에러페이지 연결하는 방법 - 아래 소스를 .htaccess 파일에 추가
SetEnvIfNoCase Referer daerew.com go_in
SetEnvIfNoCase Referer ^$ go_in
Order Deny,Allow
Deny from all
Allow from env=go_in
SetEnvIf Referer "www.daerew.com" link_allow
SetEnvIf Referer "daerew.com" link_allow
Order Deny,Allow
Deny from all
Allow from env=link_allow
SetEnvIf Referer www.daerew.com go_in
SetEnvIf Referer daerew.com go_in
SetEnvIf Referer ^$ go_in
Order Deny,Allow
Allow from env=go_in
Deny from all
php_flag register_globals on
ErrorDocument 403 403에러가 뜨면 나올 페이지 주소
ErrorDocument 404 404에러가 뜨면 나올 페이지 주소
ErrorDocument 500 500에러가 뜨면 나올 페이지 주소
ErrorDocument 503 503에러가 뜨면 나올 페이지 주소
댓글