ETCPHP

그누보드 no cache header 설정 오류 수정하기

그누보드 head.sub.php 파일에 기본적으로 헤더를 통하여 캐시를 적용하지 않도록 하는 소스가 삽입되어 있습니다. 하지만 해당 기능이 정상적으로 작동하지 않아서 브라우저의 백 버튼이나 키보드의 백스페이스 버튼을 누르게 되면 기존에 보여던 페이지(캐싱 된 페이지)가 다시 보이게 됩니다. 이를 해결 하기 위해 아래와 같이 하면 됩니다.

  • 기존 코드

     header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
     header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
    
  • 변경 코드

     header("Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
    

단순히 헤더 정보에서 cache-control 정보를 2개로 나누었던 것을 하나로 합친 것 뿐입니다.

참고로 위와 같이 변경하면 익스플로러, 파이어폭스, 크롬 모두 노 캐싱 적용이 됩니다. (다른 브라우저는 확인해보지 못하였습니다.)