2010-03-29 7 views
11

사이트에서 사용한 CSS 파일과 js 파일에 캐시를 사용해야합니다. 내 사이트가 공유 호스팅 서버에서 실행 중입니다. 서버로는 아무 것도 할 수 없습니다.css/js 파일의 캐시를 설정하는 방법

그래서 js 및 css 파일에 대해 캐시 및 압축을 사용하기위한 솔루션이 될 수 있습니다.

+0

캐싱을 사용하거나 캐싱을 사용하지 않으시겠습니까? – thecoshman

답변

-1

서버가 브라우저로 렌더링하는 http headers을 관리하려면 서버에 액세스해야합니다.

7

PHP5를 사용할 수 있다면 Minify ... 스크립트 (JS/CSS) 소스 코드를 변경하지 않고 HTML/CSS를 압축, 난독 화 및 캐시합니다. 당신이 당신의 서버에 PHP5를 사용할 수없는 경우

, &이 htaccess로을 사용하여 파일을 YUI Compressor로 파일을 당황하게하고 캐시 압축 :

<FilesMatch "\.(css|js)$"> 
Header set Cache-Control "max-age=172800, public, must-revalidate" 
</FilesMatch> 
+0

Minify는 멋진 라이브러리이며, 나는 그것을 매우 권장한다. 나는 그것을 대형 웹 애플리케이션에 사용하고 http 요청을 25 % 줄였다. –

+0

_Minify_는 코드를 명확하게 "난독 화"하지 않습니다. 함수 및 변수 이름은 그대로 유지되지만, – MrWhite

38

아파치를 사용하는 경우, 여기 시작합니다. http://www.askapache.com/htaccess/htaccess.html

  • http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html#caching-with-mod_expires
  • 압축 및 캐싱

    • 는 다른 것입니다.

      압축의 경우 PHP Minify 또는 YUI Compressor가 좋습니다. 다른 모든 것이 실패하면, TextMate는 코드를 압축 할 수있는 훌륭한 Javascript Tools Bundle을 가지고 있습니다. 수동으로 코드를 압축 한 다음 업로드하고 압축을 취소하여 소스를 읽을 수있는 상태로 되돌릴 수 있습니다. 나는 이것을 추천하지 않지만 전에 해왔다.

      캐싱의 경우 askapache.com 사이트를 읽으십시오. mod_expires, mod_compress 및 다른 모듈을 켜는 몇 가지 쉬운 방법이 있습니다. 공유 호스트에 있기 때문에 여기서는 호스트가 특정 Apache 모듈을 끈 상태 일 수 있으므로주의해야합니다. 나는 GoDaddy를 사용했고 mod_expires를 끈다. Apache 모듈에 대한 호스트 별 정보는 호스트 지원 문서를 참조하십시오.

      당신이 운이 있다면

      , 중요한 것들에 그리고 당신은 할 수 있습니다

      <IfModule mod_deflate.c> 
          SetOutputFilter DEFLATE 
          SetEnvIfNoCase Request_URI \ 
          \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
      </IfModule> 
      
      <IfModule mod_expires.c> 
          ExpiresActive on 
          ExpiresByType image/jpg "access 2 month" 
          ExpiresByType image/gif "access 2 month" 
          ExpiresByType image/jpeg "access 2 month" 
          ExpiresByType image/png "access 2 month" 
          ExpiresByType text/css "access 2 month" 
          ExpiresByType application/x-javascript "access plus 2 month" 
          ExpiresByType text/javascript "access plus 2 month" 
          ExpiresByType application/javascript "access plus 2 month" 
          ExpiresByType image/x-icon "access plus 12 month" 
          ExpiresByType image/icon "access plus 12 month" 
          ExpiresByType application/x-ico "access plus 12 month" 
          ExpiresByType application/ico "access plus 12 month" 
      </IfModule>` 
      

      , 당신의 htaccess로 파일을 오픈 한 후 파이어 폭스, 방화범, 다음 YSlow에를이 코드를 넣습니다. YSlow 테스트를 실행하면 캐싱이 작동하는지 여부를 알 수 있습니다.

    관련 문제