# BEGIN WP Rocket v3.10.8
# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset UTF-8
# Force UTF-8 for a number of file formats
<IfModule mod_mime.c>
AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml
</IfModule>

# FileETag None is not enough for every server.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>

# Since we’re sending far-future expires, we don’t need ETags for static content.
# developer.yahoo.com/performance/rules.html#etags
FileETag None

<IfModule mod_alias.c>
<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$">
<IfModule mod_headers.c>
Header set X-Powered-By "WP Rocket/3.10.8"
Header unset Pragma
Header append Cache-Control "public"
Header unset Last-Modified
</IfModule>
</FilesMatch>

<FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
<IfModule mod_headers.c>
Header unset Pragma
Header append Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>

<IfModule mod_mime.c>
	AddType image/avif                                  avif
    AddType image/avif-sequence                         avifs
</IfModule>
# Expires headers (for better cache control)
<IfModule mod_expires.c>
	ExpiresActive on
	ExpiresDefault                              "access plus 1 month"
	# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
	ExpiresByType text/cache-manifest           "access plus 0 seconds"
	# 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"
	# Feed
	ExpiresByType application/rss+xml           "access plus 1 hour"
	ExpiresByType application/atom+xml          "access plus 1 hour"
	# Favicon (cannot be renamed)
	ExpiresByType image/x-icon                  "access plus 1 week"
	# Media: images, video, audio
	ExpiresByType image/gif                     "access plus 4 months"
	ExpiresByType image/png                     "access plus 4 months"
	ExpiresByType image/jpeg                    "access plus 4 months"
	ExpiresByType image/webp                    "access plus 4 months"
	ExpiresByType video/ogg                     "access plus 4 months"
	ExpiresByType audio/ogg                     "access plus 4 months"
	ExpiresByType video/mp4                     "access plus 4 months"
	ExpiresByType video/webm                    "access plus 4 months"
	ExpiresByType image/avif                    "access plus 4 months"
	ExpiresByType image/avif-sequence           "access plus 4 months"
	# HTC files  (css3pie)
	ExpiresByType text/x-component              "access plus 1 month"
	# Webfonts
	ExpiresByType font/ttf                      "access plus 4 months"
	ExpiresByType font/otf                      "access plus 4 months"
	ExpiresByType font/woff                     "access plus 4 months"
	ExpiresByType font/woff2                    "access plus 4 months"
	ExpiresByType image/svg+xml                 "access plus 4 months"
	ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
	# CSS and JavaScript
	ExpiresByType text/css                      "access plus 1 year"
	ExpiresByType application/javascript        "access plus 1 year"
</IfModule>
# Gzip compression
<IfModule mod_deflate.c>
# Active compression
SetOutputFilter DEFLATE
# Force deflate for mangled headers
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# Don’t compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
</IfModule>
</IfModule>

# Compress all output labeled with one of the following MIME-types
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
		                          application/javascript \
		                          application/json \
		                          application/rss+xml \
		                          application/vnd.ms-fontobject \
		                          application/x-font-ttf \
		                          application/xhtml+xml \
		                          application/xml \
		                          font/opentype \
		                          image/svg+xml \
		                          image/x-icon \
		                          text/css \
		                          text/html \
		                          text/plain \
		                          text/x-component \
		                          text/xml
</IfModule>
<IfModule mod_headers.c>
Header append Vary: Accept-Encoding
</IfModule>
</IfModule>

<IfModule mod_mime.c>
AddType text/html .html_gzip
AddEncoding gzip .html_gzip
</IfModule>
<IfModule mod_setenvif.c>
SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{REQUEST_URI} !^(/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index\.php/)?wp\-json(/.*|$))$ [NC]
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800).* [NC]
RewriteCond %{HTTP_USER_AGENT} !^(w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-).* [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit|WhatsApp).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
</IfModule>
# END WP Rocket

#Custom Old Site Redirects
Redirect 301 /pages/our-story https://nutreelife.co.uk/about-us/
Redirect 301 /pages/contact-us https://nutreelife.co.uk/contact-us/
Redirect 301 /pages/careers https://nutreelife.co.uk/careers/
Redirect 301 /collections/vegan-protein-bars https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /23193601/policies/34516365.html https://nutreelife.co.uk/terms-and-conditions/
Redirect 301 /23193601/policies/34516493.html https://nutreelife.co.uk/terms-and-conditions/
Redirect 301 /pages/trade-enquiries-page https://nutreelife.co.uk/services/
Redirect 301 /pages/state-of-the-art-production https://nutreelife.co.uk/services/
Redirect 301 /blogs/news https://nutreelife.co.uk/blog/
Redirect 301 /products/chocolate-protein-vegan-snack-bite-minis https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /products/vegan-burger-mix https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /pages/privacy-policy https://nutreelife.co.uk/privacy-policy/
Redirect 301 /blogs/news/best-veggie-vegan-burgers https://nutreelife.co.uk/blog/the-best-veggie-vegan-burgers/
Redirect 301 /blogs/news/tagged/how-to https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/tagged/recipes https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/are-protein-bars-good-for-you https://nutreelife.co.uk/blog/
Redirect 301 /collections/vegan-protein-bars/products/choc-variety-12-pack https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /blogs/news/interview-with-boating-champion-matt-wood-from-chequered-flag-racing https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/nutreelife-featured-on-bbc-radio-lancashire https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/tagged/nutree-news https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/tagged/nutrition https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/why-choose-a-green-protein-smoothie https://nutreelife.co.uk/blog/
Redirect 301 /collections/vegan-protein-bars/products/plant-based-chocolate-protein-bars https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /collections/all https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /blogs/news/tagged/vegan-diet https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/a-high-protein-vegan-diet-plan https://nutreelife.co.uk/blog/a-high-protein-vegan-diet-plan/
Redirect 301 /blogs/news/success-at-the-northern-vegan-festival https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/how-to-switch-to-a-plant-based-diet https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/heroes-assemble https://nutreelife.co.uk/blog/heroes-assemble/
Redirect 301 /products/choc-variety-12-pack https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /blogs/news/be-inspired-by-these-plant-based-athletes-for-international-womens-day https://nutreelife.co.uk/blog/
Redirect 301 /products/plant-based-chocolate-protein-bars https://nutreelife.co.uk/services/protein-bar-manufacturing/
Redirect 301 /collections/vegan-protein-snacks https://nutreelife.co.uk/services/bespoke-recipe-creation/
Redirect 301 /blogs/news/when-could-you-use-vegan-protein-powder https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/what-are-the-best-ways-to-increase-your-protein-intake-in-a-vegan-diet https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/how-does-vegan-protein-fit-into-a-fitness-plan https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/i-stopped-eating-animal-products-for-31-days-my-veganuary-experience https://nutreelife.co.uk/blog/
Redirect 301 /blogs/news/can-you-bake-with-vegan-protein-powder https://nutreelife.co.uk/blog/
Redirect 301 /collections/vegan-protein-snacks/products/chocolate-mint-vegan-protein-cubes https://nutreelife.co.uk/services/
Redirect 301 /collections/vegan-protein-snacks/products/chocolate-brownie-vegan-protein-snack-bites https://nutreelife.co.uk/services/
Redirect 301 /collections/vegan-protein-snacks/products/chocolate-orange-vegan-protein-cubes https://nutreelife.co.uk/services/
Redirect 301 /pages/contact-us https://nutreelife.co.uk/contact-us/
Redirect 301 /collections/vegan-protein-powders https://nutreelife.co.uk/services/
Redirect 301 /collections/vegan-protein-snacks/products/sticky-toffee-vegan-protein-cubes https://nutreelife.co.uk/services/
Redirect 301 /products/sticky-toffee-vegan-protein-cubes https://nutreelife.co.uk/services/
Redirect 301 /collections/vegan-protein-powders/products/vegan-burger-mix https://nutreelife.co.uk/services/
Redirect 301 /products/chocolate-brownie-vegan-protein-snack-bites https://nutreelife.co.uk/services/
Redirect 301 /products/chocolate-orange-vegan-protein-cubes https://nutreelife.co.uk/services/
Redirect 301 /products/chocolate-mint-vegan-protein-cubes https://nutreelife.co.uk/services/
# End Custom Old Site Redirects

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
