### BEGIN WP Roids - DO NOT REMOVE THIS LINE
# Expires headers for older browsers
ExpiresActive On
# IMAGES & ALIKE
ExpiresByType application/pdf "access plus 30 days"
ExpiresByType image/bmp "access plus 30 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/svg+xml "access plus 30 days"
ExpiresByType image/vnd.microsoft.icon "access plus 30 days"
ExpiresByType image/x-icon "access plus 30 days"
ExpiresByType image/webp "access plus 30 days"
# FONTS
ExpiresByType application/font-opentype "access plus 30 days"
ExpiresByType application/font-sfnt "access plus 30 days"
ExpiresByType application/font-woff "access plus 30 days"
ExpiresByType application/font-woff2 "access plus 30 days"
ExpiresByType application/vnd.ms-fontobject "access plus 30 days"
ExpiresByType application/x-font-ttf "access plus 30 days"
ExpiresByType application/x-font-opentype "access plus 30 days"
# AV
ExpiresByType audio/mp3 "access plus 30 days"
ExpiresByType audio/ogg "access plus 30 days"
ExpiresByType audio/webm "access plus 30 days"
ExpiresByType video/3gpp "access plus 30 days"
ExpiresByType video/MP2T "access plus 30 days"
ExpiresByType video/mp4 "access plus 30 days"
ExpiresByType video/ogg "access plus 30 days"
ExpiresByType video/quicktime "access plus 30 days"
ExpiresByType video/webm "access plus 30 days"
ExpiresByType video/x-flv "access plus 30 days"
ExpiresByType video/x-msvideo "access plus 30 days"
ExpiresByType video/x-ms-wmv "access plus 30 days"
# CSS & JS
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
# HTML
ExpiresByType text/html "access plus 5 minutes"
# DO NOT CACHE
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# FALLBACK
ExpiresDefault "access plus 1 hour"
# Headers for newer browsers
Header unset ETag
FileETag None
Header set Connection keep-alive
# 30 days
Header set Cache-Control "max-age=2592000, public"
# 1 DAY
Header set Cache-Control "max-age=86400, public, must-revalidate"
# 1 HOUR
Header set Cache-Control "max-age=300, public"
Header append Vary: Accept-Encoding
Header append Vary: User-Agent
# Enable GZIP compression
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json
AddOutputFilterByType DEFLATE application/manifest+json
AddOutputFilterByType DEFLATE application/rdf+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/schema+json
AddOutputFilterByType DEFLATE application/vnd.geo+json
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-mpegURL
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json
AddOutputFilterByType DEFLATE audio/mp3
AddOutputFilterByType DEFLATE audio/ogg
AddOutputFilterByType DEFLATE audio/webm
AddOutputFilterByType DEFLATE font/eot
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/woff2
AddOutputFilterByType DEFLATE image/bmp
AddOutputFilterByType DEFLATE image/gif
AddOutputFilterByType DEFLATE image/jpeg
AddOutputFilterByType DEFLATE image/jpg
AddOutputFilterByType DEFLATE image/png
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/vnd.microsoft.icon
AddOutputFilterByType DEFLATE image/webp
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/cache-manifest
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/vcard
AddOutputFilterByType DEFLATE text/vnd.rim.location.xloc
AddOutputFilterByType DEFLATE text/vtt
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE text/x-cross-domain-policy
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE video/3gpp
AddOutputFilterByType DEFLATE video/MP2T
AddOutputFilterByType DEFLATE video/mp4
AddOutputFilterByType DEFLATE video/ogg
AddOutputFilterByType DEFLATE video/quicktime
AddOutputFilterByType DEFLATE video/webm
AddOutputFilterByType DEFLATE video/x-flv
AddOutputFilterByType DEFLATE video/x-msvideo
AddOutputFilterByType DEFLATE video/x-ms-wmv
## WP Roids rewrite rules
RewriteEngine On
RewriteBase [[WP_ROIDS_REWRITE_BASE]]/
AddDefaultCharset UTF-8
# Prevent hotlinking of images
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?[[DOMAIN_NAME]] [NC]
RewriteRule \.(bmp|gif|ico|jpg|jpeg|png|svg|webp)$ – [NC,F,L]
# Serve cached images
RewriteCond %{DOCUMENT_ROOT}/[[WP_ROIDS_FULL_IMAGES_CACHE]]/$1 -f [or]
RewriteCond [[WP_ROIDS_ALT_FULL_IMAGES_CACHE]]/$1 -f
RewriteRule /([^/]*\.(bmp|gif|ico|jpg|jpeg|png|svg|webp))$ "[[WP_ROIDS_IMAGES_CACHE]]/$1" [L]
# serve cached HTML file
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author|wordpress_logged_in|postpass).*$
RewriteCond %{DOCUMENT_ROOT}/[[WP_ROIDS_FULL_POSTS_CACHE]]/$1/index.html -f [or]
RewriteCond [[WP_ROIDS_ALT_FULL_POSTS_CACHE]]/$1/index.html -f
RewriteRule ^(.*) "[[WP_ROIDS_POSTS_CACHE]]/$1/index.html" [L]
### END WP Roids - DO NOT REMOVE THIS LINE