아파치(Apache) 서버 에러 리다이렉트 - ErrorDocument

웹사이트에서 간간히 "페이지를 찾을 수 없습니다. 404 error page not found" 라는 메세지를 볼수 있다.

Apache 서버 운영 중 오류가 발생한 경우, 404 not foud error, 500 Internal Server Error 등의 에러 메세지가 그대로 노출된다.
개발 시 에러 메세지가 그대로 노출되면 오류 메세지를 바로 확인 가능하기 때문에 개발하는 입장에선 문제를 파악할 수 있기 때문에 개발이 용이하다는 장점이 있다.
하지만 시스템 운영 시 사용자가 알수 없는 에러 메세지가 된다. 또한 오류 발생 시 서버 경로도 같이 노출된다.

위 상황을 방지하기 위해 오류 발생 시 개발자가 의도한 화면이 보여지거나 특정 페이지로 이동되도록 작업해줘야 한다.


ErrorDocument 404 "PATH"을 사용하면 404 Error 기 발생했을 때 이미 설정된 PATH로 페이지가 이동된다.
또한 PATH 에 어떤 값을 쓰냐에 따라 다르게 동작한다.

  1. 로컬 Redirect - ErrorDocument 404 /test.php 
    지정한 경로의 파일로 redirect.

  2. 외부 Redirect - ErrorDocument 404 https://zoytour.com/
     지정한 외부 사이트로 redirect.

Error 404 가 아닌 다른 에러가 발생했을 때 페이지를 이동시키 위해선 404 대신 다른 에러 코드를 입력해주면 된다.
예를 들어 Error 403 발생시 홈페이지 인덱스 페이지로 Redirect 시킬 경우엔 아래와 같이 코드를 입력해준다.

예시

ErrorDocument 403 <https://zoytour.com/>

문법

ErrorDocument <3-digit-code> <action>
  • share