일정 시간마다 캐시 초기화 시키는 방법이 있나요 ?

일정 시간마다 캐시 초기화 시키는 방법이 있나요 ?

QA

일정 시간마다 캐시 초기화 시키는 방법이 있나요 ?

본문

.htaccess 를 사용하면 3시간마다 초기화 시킬 수 있는데 

 

php 에서 일정시간이 지난 css,js 파일 초기화 시키는 방법이 있을까요 ?

 

  • header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  • header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
  • header("Cache-Control: no-store, no-cache, must-revalidate");
  • header("Cache-Control: post-check=0, pre-check=0", false);
  • header("Pragma: no-cache");

이렇게 하면 캐싱자체를 안한다고 하는데 php 단에서 일정시간마다 캐싱 초기화 할 수 있는 방법은 없나요 ?

 

css, js 수정 후 확인해달라고 하면 항상 적용이 안되어있다고 해서 캐시 삭제해달라고 하기가 너무 귀찮네요.. 

 

일단 한두사람은 그렇게 처리하면 되는데 일반 사용자한테는 그렇게 전달할 수 없으니 문제가 많네요.

이 질문에 댓글 쓰기 :

답변 3

css나 js만 갱신하시는거라면,

수정 후 extend/version.extend.php에서 뒤의 날짜값을 임의의 값으로 수정하면 됩니다

이 방법은 알고있지만 새로운 css, js 가 추가될때마다

'<link rel="stylesheet" href="스타일시트.css?ver='.G5_CSS_VER.'">'.PHP_EOL;

이 과정을 거쳐야 한다는게 ㅠㅠ ?ver 없이 일정시간마다 초기화 시키는 방법은 없는걸까요 ?

css수정후나 js 수정후에  

그누보드 함수에서 수정하는게 따로있습니다 extend 여기에잇을거에요

style.css?v=201809010 이렇게 숫자만 바꿔서 버전관리해주시면 새로다운이 받아집니다.

 

 

/extend/version.extend.php
 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

define('G5_JS_VER',  G5_TIME_YMD);
define('G5_CSS_VER', G5_TIME_YMD);
?>

 

이렇게 하면 열릴때마다...새로 받지 않을까요?

 

css, js 파일만 해당되면 상관없는데 가끔 이미지파일도 변경해주고 그러다보면 다 변경했는데 변경안됬다고 다시 문의가 들어오더라구요 ㅠㅠ

한두명한테는 캐시 삭제해달라고 전달하면 끝나는 일인데 일반 사용자들한테 그렇게 전달 할 수 없는 노릇이라 일괄적으로 처리하는 방법이 있었으면 좋겠네요 ㅠㅠ

찾아보니

https://blog.inidog.com/p/20171021478

이런 내용은 있더라구요

.htaccess 파일을 쓰면 3시간마다 초기화 시켜주는 방법은 있더라구요.

php 에서 하려면 아예 캐싱자체를 끌 수 있다는데 그렇게되면 사이트 이용할때마다 매번 이미지를 다시 로드하는거같아서 문제가 많네요..

답변을 작성하시기 전에 로그인 해주세요.
전체 123,479 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT