관리 메뉴

하츠의 꿈

트래픽초과 및 404 페이지 처리 .htaccess 이용법 본문

블로그&홈페이지 팁

트래픽초과 및 404 페이지 처리 .htaccess 이용법

명섭이 2009.07.01 16:37
얼마전에 내가 관리하는 홈페이지(이후로 A홈피) 하나가 트래픽 초과가 되어서 접속이 안되는 경우가 발생했다.

별스런 홈페이지도 아닌데 그런 일이 발생해서 이유를 살펴보았다.
누군가가 자신의 홈페이지에 A홈피의 이미지를 링크해서 이용하고 있었고, 그 페이지가 포탈 검색에 걸리게 된 것이다.

이렇듯 이미지나 동영상 파일을 다른 홈페이지에 올려서(upload) 이용하면 저작권을 제외한 문제가 없지만, 퍼가지 않고 그대로 링크를 걸면 이미지가 위치한 홈페이지는 필요없는 트래픽이 발생해서 피해를 볼 수 있다.

이것은 Apapche 웹서버의 rewrite rule 을 이용해서 막을 수가 있다.
하지만, 웹호스팅을 이용하는 경우에는 Apache 웹서버 설정에 접근할 수 없으므로, 일반적으로 웹호스팅사에서 제공하는 .htaccess 파일을 이용해서 막는 것을 설명하겠다.

1. .htaccess 파일에 아래의 내용을 입력한다.
   (예제 홈페이지 주소 : abc.com)
============= 아래 ============
php_flag register_globals on

SetEnvIf Referer "abc\.com" link_allow
SetEnvIf Referer "www\.abc\.com" link_allow
Order Deny,Allow
Deny from all
Allow from env=link_allow

SetEnvIf Referer abc\.com go_in
SetEnvIf Referer www\.abc\.com go_in
SetEnvIf Referer ^$ go_in
Order Deny,Allow
Allow from env=go_in
Deny from all
============ 아래 끝 ===========
간단히 설명하면 파일을 부르는 페이지가 abc.com 이나 www.abc.com이 아니면 접근을 막는다는 것이다.
   
반드시 abc.com 과 www.abc.com 부분을 자신의 홈페이지 주소로 변경해야 한다.


2. 외부 접근을 차단한 이미지나 파일이 위치한 디렉터리에 .htaccess 파일을 저장한다.

.htaccess 파일은 자신의 위치한 디렉터리 및 그 하위 디렉터리에 모두 영향을 미친다.

만약, 홈페이지 파일이 위치한 최상위 디렉터리에 이파일을 만들면 하위의 모든 파일에 적용이 되므로 주의해야 한다.


이 .htaccess 파일은 이러한 차단 기능 만 있는 것이 아니다.
이 파일은 Apache 웹서버의 일부 설정을 디렉터리 단위로 할 수 있게 해주는 역할을 한다.

웹호스팅 서비스를 받게 되면 404에러(없는 페이지에 대한 에러)페이지를 웹호스팅 회사의 페이지로 기본 제공한다.
참으로 보기가 좋지 않다. 차라리 웹브라우저의 기본 에러 페이지가 더 좋지...

아무튼 어쩔 수 없이 이용해하는 웹호스팅이니 어쩔 수 없다.

그럼, .htaccess 파일을 이용해서 404 에러 페이지를 변경해 보자.
아래는 없는 페이지를 부른 경우 자바스크립트 alert창을 띄우고 확인을 누르면 메인페이지로 이동하게 하는 html 소스다.

404 에러페이지

404 에러페이지 변경은 설정을 위한 .htaccess 파일과 에러를 표시할 html 파일이 필요하다.

1. .htaccess 파일에 아래의 내용을 입력한다.
    (예제 홈페이지 주소 : abc.com)
============== 아래 ===============
ErrorDocument 404 http://www.abc.com/404.html
============= 아래 끝 ==============

 

 

2. 홈페이지 파일이 위치한 최상위 디렉터리에 .htaccess 파일을 저장한다.

 

 

3. 404.html 파일을 아래와 같이 만든다.

============== 아래 ===============

<html>
<head>
<title>P2P 뉴스</title>
<script language="javascript">
<!--
alert("존재하지 않는 페이지입니다");
location.href="/";
-->
</script>
</head>
</html>
============= 아래 끝 =============

 


4. 404.html 파일을 홈페이지 파일이 위치한 최상위 디렉터리에 저장한다.



참 쓸모가 많은 .htaccess 파일이다.

 

웹호스팅회사 마다 .htaccess 파일을 지원하지 않는 곳도 있으므로 참고하시길~

10 Comments
댓글쓰기 폼