# BEGIN FlyingPress
# Cache-control response header for browser caching
<IfModule mod_expires.c>
	ExpiresActive on
	# Your document html
	ExpiresByType text/html                     "access plus 0 seconds"
	# Data
	ExpiresByType text/xml                      "access plus 0 seconds"
	ExpiresByType application/xml               "access plus 0 seconds"
	ExpiresByType application/json              "access plus 0 seconds"
	# Favicon
	ExpiresByType image/x-icon                  "access plus 1 year"
	# Media: images, video, audio
	ExpiresByType image/gif                     "access plus 1 year"
	ExpiresByType image/png                     "access plus 1 year"
	ExpiresByType image/jpeg                    "access plus 1 year"
	ExpiresByType image/webp                    "access plus 1 year"
	ExpiresByType video/ogg                     "access plus 1 year"
	ExpiresByType audio/ogg                     "access plus 1 year"
	ExpiresByType video/mp4                     "access plus 1 year"
	ExpiresByType video/webm                    "access plus 1 year"
	# HTC files  (css3pie)
	ExpiresByType text/x-component              "access plus 1 year"
	# Webfonts
	ExpiresByType font/ttf                      "access plus 1 year"
	ExpiresByType font/otf                      "access plus 1 year"
	ExpiresByType font/woff                     "access plus 1 year"
	ExpiresByType font/woff2                    "access plus 1 year"
	ExpiresByType image/svg+xml                 "access plus 1 year"
	ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
	# CSS and JavaScript
	ExpiresByType text/css                      "access plus 1 year"
	ExpiresByType text/javascript               "access plus 1 year"
	ExpiresByType application/javascript        "access plus 1 year"
	ExpiresByType application/x-javascript      "access plus 1 year"
</IfModule>

# GZIP compression for text files: HTML, CSS, JS, Text, XML, fonts
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE application/javascript
	AddOutputFilterByType DEFLATE application/rss+xml
	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 font/opentype
	AddOutputFilterByType DEFLATE font/otf
	AddOutputFilterByType DEFLATE font/ttf
	AddOutputFilterByType DEFLATE font/woff
	AddOutputFilterByType DEFLATE font/woff2
	AddOutputFilterByType DEFLATE image/svg+xml
	AddOutputFilterByType DEFLATE image/x-icon
	AddOutputFilterByType DEFLATE text/css
	AddOutputFilterByType DEFLATE text/html
	AddOutputFilterByType DEFLATE text/javascript
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/xml
</IfModule>

# Cache-control header for HTML files
<FilesMatch "\.html$">
	<IfModule mod_mime.c>
		AddType 'text/html; charset=UTF-8' html
	</IfModule>
    <IfModule mod_headers.c>
        Header set Cache-Control "public"
        Header set x-flying-press-cache "HIT"
        Header set x-flying-press-source [WEB_SERVER_NAME]
    </IfModule>
</FilesMatch>

# Rewrite requests to cache if found
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} GET|HEAD
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_[a-f0-9]+|comment_author|wp-postpass|wordpress_no_cache|wordpress_logged_in|woocommerce_cart_hash|woocommerce_items_in_cart|woocommerce_recently_viewed|edd_items_in_cart) [NC]
RewriteCond %{REQUEST_URI} !^(/(.+/)?feed/?|/(?:.+/)?embed/|/(index\.php/)?wp\-json(/.*|$))$ [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/flying-press/%{HTTP_HOST}%{REQUEST_URI}/index.html" -f
RewriteRule .* "/wp-content/cache/flying-press/%{HTTP_HOST}%{REQUEST_URI}/index.html" [L]
</IfModule>
# END FlyingPress