server-side/apache

htaccess 서비스 제공

C/H 2010. 7. 14. 16:39
.htaccess 파일에 아래 내용을 입력하면 적용됩니다.


gzip

AddOutputFilterByType DEFLATE text/css text/html application/x-javascript application/javascript
  
  <ifmodule mod_deflate.c>
    SetOutputFilter DEFLATE
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  </ifmodule>
  

gzip

<ifModule mod_gzip.c>
          mod_gzip_on Yes
          mod_gzip_dechunk Yes
          mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
          mod_gzip_item_include handler ^cgi-script$
          mod_gzip_item_include mime ^text/.*
          mod_gzip_item_include mime ^application/x-javascript.*
          mod_gzip_item_exclude mime ^image/.*
          mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
  </ifModule>
  

헤더 캐시설정

<ifModule mod_headers.c>
          #Header set Connection keep-alive
          <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
                  Header set Cache-Control "max-age=2592000, public"
          </filesMatch>
          <filesMatch "\.(css)$">
                  Header set Cache-Control "max-age=604800, public"
          </filesMatch>
          <filesMatch "\.(js)$">
                  Header set Cache-Control "max-age=216000, private"
          </filesMatch>
          <filesMatch "\.(xml|txt)$">
                  Header set Cache-Control "max-age=216000, public, must-revalidate"
          </filesMatch>
          <filesMatch "\.(html|htm|php)$">
                  Header set Cache-Control "max-age=1, private, must-revalidate"
          </filesMatch>
  </ifModule>
  

php 실행 설정

<IfModule mod_mime.c>
          # 서버설정 변경없이 .html 에서 php 실행
          AddType application/x-httpd-php .html .php .htm
  </IfModule>
  

CodeIgniter index.php 설정

<IfModule mod_rewrite.c>
          RewriteEngine On
          RewriteBase /
          #RewriteCond $1 !^(index\.php|img|js|css|robots\.txt|\.css|\.js)
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ /index.php/$1 [L]
  </IfModule>
  

파일 캐시 기간 설정

<IfModule mod_expires.c>
          ExpiresActive On
          ExpiresByType application/javascript "access plus 1 month"
          ExpiresByType text/css "access plus 1 month"
  
          ExpiresByType image/bmp "access plus 1 month"
          ExpiresByType image/cgm "access plus 1 month"
          ExpiresByType image/gif "access plus 1 month"
          ExpiresByType image/jpeg "access plus 1 month"
          ExpiresByType image/png "access plus 1 month"
          ExpiresByType image/jpeg "access plus 1 month"
          ExpiresByType image/tiff "access plus 1 month"
  
          ExpiresByType video/mpeg "access plus 1 month"
          ExpiresByType video/quicktime "access plus 1 month"
          ExpiresByType video/x-msvideo "access plus 1 month"
  
          ExpiresByType audio/basic "access plus 1 month"
          ExpiresByType audio/midi "access plus 1 month"
          ExpiresByType audio/mpeg "access plus 1 month"
          ExpiresByType audio/x-aiff "access plus 1 month"
          ExpiresByType audio/x-mpegurl "access plus 1 month"
          ExpiresByType audio/x-pn-realaudio "access plus 1 month"
          ExpiresByType audio/x-wav  "access plus 1 month"
  
          ExpiresByType application/x-shockwave-flash  "access plus 1 month"
  </IfModule>
  


반응형