테스트 사이트 - 개발 중인 베타 버전입니다

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

집에가고싶어 6년 전 조회 4,107

.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개

채택된 답변
+20 포인트
6년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

집에가고싶어
6년 전
이 방법은 알고있지만 새로운 css, js 가 추가될때마다

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

이 과정을 거쳐야 한다는게 ㅠㅠ ?ver 없이 일정시간마다 초기화 시키는 방법은 없는걸까요 ?
집에가고싶어
6년 전
제가 그누보드만 관리하는게 아니라 카페24나 고도몰같은곳도 가끔씩 수정할일이 있어서 전체적으로 php 에서 처리할 수 있었으면 좋겠네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

유찬아빠

/extend/version.extend.php  

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

 

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

집에가고싶어
6년 전
그누보드만 해당되는 사항이라 ㅠㅠ

답변 감사합니다.
집에가고싶어
6년 전
css, js 파일만 해당되면 상관없는데 가끔 이미지파일도 변경해주고 그러다보면 다 변경했는데 변경안됬다고 다시 문의가 들어오더라구요 ㅠㅠ

한두명한테는 캐시 삭제해달라고 전달하면 끝나는 일인데 일반 사용자들한테 그렇게 전달 할 수 없는 노릇이라 일괄적으로 처리하는 방법이 있었으면 좋겠네요 ㅠㅠ
유찬아빠
6년 전
사용자 브라우져의 캐시는 사용자 영역이라 웹이 접근권한을 부여받을 수 있을까요?
집에가고싶어
6년 전
찾아보니

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

이런 내용은 있더라구요

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

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

댓글을 작성하려면 로그인이 필요합니다.

라냔쓰
6년 전

css수정후나 js 수정후에  

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

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

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인