1. ExpiresActive On
  2. <FilesMatch "\.(otf|ico|pdf|flv|woff)$">
  3. Header set Cache-Control "max-age=29030400, public"
  4. ExpiresDefault "access plus 1 years"
  5. Header unset Last-Modified
  6. Header unset ETag
  7. SetOutputFilter DEFLATE
  8. </FilesMatch>
  9. # 1 MONTHS
  10. <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
  11. Header set Cache-Control "max-age=2419200, public"
  12. ExpiresDefault "access plus 1 month"
  13. SetOutputFilter DEFLATE
  14. </FilesMatch>
  15. <FilesMatch "\.(xml|txt|css|js)$">
  16. Header set Cache-Control "max-age=604800, public"
  17. ExpiresDefault "access plus 1 week"
  18. SetOutputFilter DEFLATE
  19. </FilesMatch>
  20. # 30 MIN
  21. <FilesMatch "\.(html|htm|php)$">
  22. SetOutputFilter DEFLATE
  23. </FilesMatch>
  24. # BEGIN W3TC Page Cache core
  25. <IfModule mod_rewrite.c>
  26. RewriteEngine On
  27. RewriteBase /
  28. RewriteCond %{HTTPS} =on
  29. RewriteRule .* - [E=W3TC_SSL:_ssl]
  30. RewriteCond %{SERVER_PORT} =443
  31. RewriteRule .* - [E=W3TC_SSL:_ssl]
  32. RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
  33. RewriteRule .* - [E=W3TC_PREVIEW:_preview]
  34. RewriteCond %{REQUEST_METHOD} !=POST
  35. RewriteCond %{QUERY_STRING} =""
  36. RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
  37. RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html" -f
  38. RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html" [L]
  39. </IfModule>
  40. # END W3TC Page Cache core
  41. # BEGIN WordPress
  42. <IfModule mod_rewrite.c>
  43. RewriteEngine On
  44. RewriteCond %{HTTPS} off
  45. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  46. RewriteBase /
  47. RewriteRule ^index\.php$ - [L]
  48. RewriteCond %{REQUEST_FILENAME} !-f
  49. RewriteCond %{REQUEST_FILENAME} !-d
  50. RewriteRule . /index.php [L]
  51. </IfModule>
  52. # END WordPress
  53. # compress text, html, javascript, css, xml:
  54. AddOutputFilterByType DEFLATE text/plain
  55. AddOutputFilterByType DEFLATE text/html
  56. AddOutputFilterByType DEFLATE text/xml
  57. AddOutputFilterByType DEFLATE text/css
  58. AddOutputFilterByType DEFLATE application/xml
  59. AddOutputFilterByType DEFLATE application/xhtml+xml
  60. AddOutputFilterByType DEFLATE application/rss+xml
  61. AddOutputFilterByType DEFLATE application/javascript
  62. AddOutputFilterByType DEFLATE application/x-javascript
  63. AddOutputFilterByType DEFLATE application/x-javascript
  64. AddOutputFilterByType DEFLATE application/font-woff
  65. # Or, compress certain file types by extension:
  66. <files *.html>
  67. SetOutputFilter DEFLATE
  68. </files>