2016-09-22 2 views
1

.htaccess에서 png, jpg, html, css, js 및 모두를 1 개월로 작성했습니다. 그러나 html은 자주 업데이트되지 않습니다. 어떻게 관리 할 수 ​​있습니까? 또한 .htaccess를 변경하면 브라우저가 내용을 다시 다운로드할까요, 아니면 여전히 캐시에서로드할까요?오직 몇 페이지 만 자주 업데이트해야하는 웹 사이트에서 레버리지 캐싱을 사용하는 방법은 무엇입니까?

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/jpg "access 1 year" 
    ExpiresByType image/jpeg "access 1 year" 
    ExpiresByType image/gif "access 1 year" 
    ExpiresByType image/png "access 1 year" 
    ExpiresByType text/css "access 1 month" 
    ExpiresByType application/pdf "access 1 month" 
    ExpiresByType application/javascript "access 1 month" 
    ExpiresByType application/x-javascript "access 1 month" 
    ExpiresByType application/x-shockwave-flash "access 1 month" 
    ExpiresByType image/x-icon "access 1 year" 
    ExpiresDefault "access 2 days" 
</IfModule> 
## EXPIRES CACHING ## 

이것은 .htaccess에서 작성한 코드입니다.

이제 변경을하면 만료가 1 개월이기 때문에 브라우저가 캐시에서 계속로드됩니까? 그렇지 않으면 새 콘텐츠가로드됩니까?

제 경우에는 하드 페이지를 새로 고칠 때만 새 내용을로드합니다. 그러나 사용자는 자신이 그렇게해야한다는 것을 모릅니다. 이것에 대한 해결책은 무엇입니까?

답변

0

원본 파일의 수정 날짜를 기준으로 만료 헤더를 설정하는 것이 좋습니다.

가 가
ExpiresActive On 
ExpiresDefault "modification plus 1 month" 

또한 사용하여이를 수 :

<FilesMatch "\.(png|jpe?g|html?|css|js)$"> 
    ExpiresActive On 
    ExpiresDefault "modification plus 1 month" 
</FilesMatch> 
+0

을하지만이 1 개월 권리를 브라우저 캐시의 내용을 유지하는 것이 작업은 수행 할 수 있습니까? 2 일 후에 변경 사항을 적용하면 업데이트 된 페이지가 어떻게 새로 고쳐지지 않고로드됩니까? –

+0

@ShayanAnwar "효과의 차이는 미묘합니다."M "을 사용하면 모든 캐시에있는 문서의 모든 현재 사본이 동시에 만료되므로 주간 통지와 같이 항상 유효합니다 URL. A를 사용하면 각 클라이언트마다 만료일이 다르므로 자주 변경되지 않는 이미지 파일에 유용 할 수 있습니다. " – hjpotter92

+0

내 질문에 위에서 추가 한 코드를 봐, 귀하의 코드는 캐시가 하드 리프레시없이 만료가 되어도 캐시 대신 업데이트 된 내용을로드하도록 브라우저에 지시하겠습니까? –