웹서버 404 오류 - PHP로 동적 대응하기
컨텐츠의 디렉토리 이동이나 도메인 이동등 서버에서 404 만났을때 통합하여 처리 하는 방법 입니다.
오래된것 이동 되거나 리뉴얼 되거나할때 유용한 방법입니다.
1) 웹서버에서 아래와 같은 설정을 하나 추가해 줍니다.
ErrorDocument 404 /error_404.php
2) 여긴 php 사용으로 php의 예 입니다. 다른 언어도 큰 문제 없으리라 봅니다.
$move_url = '';
if ( stristr($_SERVER['REQUEST_URI'], '/blog/') )
{
$move_url = str_replace('/blog/', '/content/', $_SERVER['REQUEST_URI']);
}
if ( $move_url ) {
header("Location: " . $move_url, true, 301);
}
else {
$move_url = 'https://www.pabburi.co.kr';
header("Location: " . $move_url);
}
exit;
---
위설명을 덧 붙이면 아래와 같습니다.
공부하면서 다른곳에서 가져온것 내 나름대로 정리하고 나도 도움 받았는데 다른 분들도 보면 좋겠다 싶어 디렉토리를 blog로 만들었습니다.
그런데 몇개 작성하다 보니 이거 켄턴츠 인데 생각이 들어 content로 변경하고 싶어졌습니다.
https://www.pabburi.co.kr/blog/linux_server
이런 주소였다가 아래와 같은 주소가 된것 입니다. 뒤쪽에 어떠한 파라미터가 있어도 아래로 이동 합니다.
단 프로그램 보시면 아시겠지만 중간에 들어간것도 걸립니다. - 이런 부분은 사이트 특성에 맞게 더 정확하게 처리 하면 됩니다.
그리고 이전에 있던 주소가 아니라 정말 없는 주소가 요청 들어온 경우는 메인으로 갑니다.( /blog/ -> /content/ -> 메인)
https://www.pabburi.co.kr/content/linux_server
추가적으로 php의 경우는 외부에서 오는 파라미터 같은 것은 잘 모르면 무조건
phpinfo(); 명령으로 출력해 보면 알 수 있습니다.
