2011-12-30 5 views
2

모든 파일을 캐시하고 싶지만 테스트를 승인 할 수 있도록 작동 방법을 파악할 수 없습니다. 나는 현재 내가 https://developers.google.com/pagespeed/#을 가진이 만료 나는 http://www.webpagetest.org/을 사용했다이미지, PHP, js 및 html에 대한 캐시

최대 사용 기간이 (그렇지 않은) 도움이 될 것입니다 경우 단지 테스트에 추가

<meta http-equiv="Cache-Control" content="private" /> 
<meta http-equiv="Expires" content="86400000" /> 
<meta http-equiv="Cache-Control" content="max-age=86400000" /> 

마지막 줄, 그리고 http://gtmetrix.com/

이 누구나 모든 것을 개인적으로 캐시하는 방법을 알려줄 수 있습니까? 다른 페이지를 확인했지만 아무도 정당한 HTML 코드를 제공하지 않습니다. 실제 코드를 나열 하시려면 Cache-Control을 사용하라고 만료하지 마시고 내가 본 다른 웹 사이트와 마찬가지로 사용하십시오. 이해하기 위해서는 예제 코드가 필요합니다. 사전에 도움을 주셔서 감사합니다. 나는 또한 PHP를 사용하고 있으므로 헤더()에서 그렇게하면 작동 할 것이다.

편집 대단히 감사합니다 나는 또한 그것을하기 위해 htaccess로 사용하여 시도하지만, 작동하지 않았다. 내 서버가있는 설정인지 여부는 알 수 없지만 테스트를 통해 변경되지 않았습니다.

답변

5

HTML 문서에서 만료 시간을 지정하면 실제 문서에만 적용됩니다. 당신이 사용할 수 mod_expires와 아파치 웹 서버를 가정

, 당신은

ExpiresActive On 
ExpiresByType image/gif  86400000 
ExpiresByType image/png  86400000 
ExpiresByType image/jpg  86400000 
ExpiresByType image/jpeg  86400000 
ExpiresByType text/html  86400000 
ExpiresByType text/javascript 86400000 
ExpiresByType text/plain  86400000 
+0

나는 mod_expires를 활성화하지 않았기 때문에 이전에 작동하지 않았습니다. 그 점을 지적 해 주셔서 고맙습니다. – eric

4

당신이 당신의 파일을 캐시 htaccess로 사용할 수있는 다음과 같은 .htaccess라는 이름의 파일을 생성하고 포함 할 수 있습니다.

#cache html and htm files for one day 
<FilesMatch ".(html|htm)$"> 
Header set Cache-Control "max-age=43200" 
</FilesMatch> 

#cache css, javascript and text files for one week 
<FilesMatch ".(js|css|txt)$"> 
Header set Cache-Control "max-age=604800" 
</FilesMatch> 

#cache flash and images for one month 
<FilesMatch ".(flv|swf|ico|gif|jpg|jpeg|png)$"> 
Header set Cache-Control "max-age=2592000" 
</FilesMatch> 

#disable cache for script files 
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> 
Header unset Cache-Control 
</FilesMatch> 
관련 문제