경우에 따라, 404에러에 대해 아파치가 기본적으로 보여주는 에러페이지가 아닌, 개별적인 커스터마이징을
하고자 하는 경우가 생기게 마련인데..
이때는 /etc/httpd/conf/httpd.conf 를 열어서 아래와 같이 바꿔주시기 바랍니다.
httpd.conf
<VirtualHost *>
DocumentRoot /home/domain
ServerName domain.co.kr
ServerAlias www.domain.co.kr
ErrorDocument 404 /home/domain/error404.php
</VirtualHost>
VirtualHost에 물려놓은 도메인마다 개별 설정하는게 좋습니다. 서버에 물려 있는 모든 도메인에 동일한 404를
보여주려는 목적이라면 그냥 기본 404에러페이지를 쓰는 것도 나쁘지 않으니깐요.
남은 일은 error404.php 라는 파일을 만들어서 서버에 올려두는 일뿐입니다.
error404.php
<html>
<body>
잘못 찾아오셨습니다.<br>You got 404 Error!!!! orz
</body>
</html>
404에러가 났을때 만약 에러페이지로 보내지 않고, index.html 과 같은 메인페이지로 보내고 싶다면
ErrorDocument 404 /home/domain/error404.php 를
ErrorDocument 404 /home/domain/index.html 로 바꾸셔도 괜찮습니다.
출처 : http://naiyumie.tistory.com/307
<VirtualHost 123.456.789.001:80>
ServerAdmin apple@gmail.com
DocumentRoot /usr/work_docs
ServerName m.xxx.com
DirectoryIndex index.htm
Alias /template/images/ "/template/images/"
ErrorLog /usr/apache/logs/error_log
CustomLog /usr/apache/logs/access_log common env=!dontlog
ErrorDocument 404 /usr/example/404.htm
ErrorDocument 402 /usr/example/402.htm
ErrorDocument 403 /usr/example/403.htm
ErrorDocument 405 /usr/example/405.htm
ErrorDocument 500 /usr/example/500.htm
</VirtualHost>
[Apache] 아파치 에러코드 해설
아파치 로그화일을 보면 중간쯤에 숫자들이 계속적으로 보입니다.
아래내용을 보신다면 쉽게 이해가 되실듯 싶습니다.
HTTP 1.1 status codes [TOP]
100 : Continue
101 : Switching protocols
200 : OK, 에러없이 전송 성공
201 : Created, POST 명령 실행 및 성공
202 : Accepted, 서버가 클라이언트 명령을 받음
203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부
만 전송
204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음
205 : Reset content
206 : Partial content
300 : Multiple choices, 최근에 옮겨진 데이터를 요청
301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음
302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시
303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음
304 : Not modified
305 : Use proxy
400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음
401 : Unauthorized, 클라이언트의 인증 실패
402 : Payment required, 예약됨
403 : Forbidden, 접근이 거부된 문서를 요청함
404 : Not found, 문서를 찾을 수 없음
405 : Method not allowed, 리소스를 허용안함
406 : Not acceptable, 허용할 수 없음
407 : Proxy authentication required, 프록시 인증 필요
408 : Request timeout, 요청시간이 지남
409 : Conflict
410 : Gone, 영구적으로 사용할 수 없음
411 : Length required
412 : Precondition failed, 전체조건 실패
413 : Request entity too large,
414 : Request-URI too long, URL이 너무 김
415 : Unsupported media type
500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)
501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요
구함
502 : Bad gateway, 서버의 과부하 상태
503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태
504 : Gateway timeout
505 : HTTP version not supported
'Development > Web Develope' 카테고리의 다른 글
HTTP Header를 이용한 파일 다운로드시 한글 파일명이 깨짐 문제 해결 방법 (0) | 2019.06.16 |
---|---|
web.xml과 struts-config.xml 의 한줄 주석 (0) | 2019.06.16 |
[Spring Framework] exclude-mapping. (1) | 2019.06.14 |
해법을 주마!!! java.io.IOException: Posted content type isn't multipart/form-data (0) | 2019.06.14 |
javascript에서 jQuery 함수 호출하기. (0) | 2019.06.14 |
댓글