1*4882a593Smuzhiyun# BEGIN Compress text files 2*4882a593Smuzhiyun<ifModule mod_deflate.c> 3*4882a593Smuzhiyun <filesMatch ".(css|js|x?html?|php)$"> 4*4882a593Smuzhiyun SetOutputFilter DEFLATE 5*4882a593Smuzhiyun </filesMatch> 6*4882a593Smuzhiyun</ifModule> 7*4882a593Smuzhiyun# END Compress text files 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# BEGIN Expire headers 10*4882a593Smuzhiyun<ifModule mod_expires.c> 11*4882a593Smuzhiyun ExpiresActive On 12*4882a593Smuzhiyun ExpiresDefault "access plus 1 seconds" 13*4882a593Smuzhiyun ExpiresByType image/x-icon "access plus 2592000 seconds" 14*4882a593Smuzhiyun ExpiresByType image/jpeg "access plus 2592000 seconds" 15*4882a593Smuzhiyun ExpiresByType image/png "access plus 2592000 seconds" 16*4882a593Smuzhiyun ExpiresByType image/gif "access plus 2592000 seconds" 17*4882a593Smuzhiyun ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" 18*4882a593Smuzhiyun ExpiresByType text/css "access plus 604800 seconds" 19*4882a593Smuzhiyun ExpiresByType text/javascript "access plus 216000 seconds" 20*4882a593Smuzhiyun ExpiresByType application/javascript "access plus 216000 seconds" 21*4882a593Smuzhiyun ExpiresByType application/x-javascript "access plus 216000 seconds" 22*4882a593Smuzhiyun ExpiresByType text/html "access plus 600 seconds" 23*4882a593Smuzhiyun ExpiresByType application/xhtml+xml "access plus 600 seconds" 24*4882a593Smuzhiyun</ifModule> 25*4882a593Smuzhiyun# END Expire headers 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun# BEGIN Cache-Control Headers 28*4882a593Smuzhiyun<ifModule mod_headers.c> 29*4882a593Smuzhiyun <filesMatch ".(ico|jpe?g|png|gif|swf)$"> 30*4882a593Smuzhiyun Header set Cache-Control "max-age=2592000, public" 31*4882a593Smuzhiyun </filesMatch> 32*4882a593Smuzhiyun <filesMatch ".(css)$"> 33*4882a593Smuzhiyun Header set Cache-Control "max-age=604800, public" 34*4882a593Smuzhiyun </filesMatch> 35*4882a593Smuzhiyun <filesMatch ".(js)$"> 36*4882a593Smuzhiyun Header set Cache-Control "max-age=216000, private" 37*4882a593Smuzhiyun </filesMatch> 38*4882a593Smuzhiyun <filesMatch ".(x?html?|php)$"> 39*4882a593Smuzhiyun Header set Cache-Control "max-age=600, private, must-revalidate" 40*4882a593Smuzhiyun </filesMatch> 41*4882a593Smuzhiyun</ifModule> 42*4882a593Smuzhiyun# END Cache-Control Headers 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun# BEGIN Turn ETags Off 45*4882a593Smuzhiyun<ifModule mod_headers.c> 46*4882a593Smuzhiyun Header unset ETag 47*4882a593Smuzhiyun</ifModule> 48*4882a593SmuzhiyunFileETag None 49*4882a593Smuzhiyun# END Turn ETags Off 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun# BEGIN gzip 52*4882a593Smuzhiyun<ifModule mod_gzip.c> 53*4882a593Smuzhiyunmod_gzip_on Yes 54*4882a593Smuzhiyunmod_gzip_dechunk Yes 55*4882a593Smuzhiyunmod_gzip_item_include file .(html?|txt|css|js)$ 56*4882a593Smuzhiyunmod_gzip_item_include handler ^cgi-script$ 57*4882a593Smuzhiyunmod_gzip_item_include mime ^text/.* 58*4882a593Smuzhiyunmod_gzip_item_include mime ^application/x-javascript.* 59*4882a593Smuzhiyunmod_gzip_item_exclude mime ^image/.* 60*4882a593Smuzhiyunmod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 61*4882a593Smuzhiyun</ifModule> 62*4882a593Smuzhiyun# END gzip 63