From 27608381a1d7bf47055852a422806677d2644678 Mon Sep 17 00:00:00 2001 From: "stephen@cubedesigners.com" Date: Wed, 17 Mar 2021 09:00:53 +0000 Subject: [PATCH] Done #4324 @0.25 --- .htaccess | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) diff --git a/.htaccess b/.htaccess index 99609ab7..19bc67be 100644 --- a/.htaccess +++ b/.htaccess @@ -1,3 +1,143 @@ +# BEGIN WP Rocket v3.8.6 +# Use UTF-8 encoding for anything served text/plain or text/html +AddDefaultCharset UTF-8 +# Force UTF-8 for a number of file formats + +AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml + + +# FileETag None is not enough for every server. + +Header unset ETag + + +# Since we’re sending far-future expires, we don’t need ETags for static content. +# developer.yahoo.com/performance/rules.html#etags +FileETag None + + + + +Header set X-Powered-By "WP Rocket/3.8.6" +Header unset Pragma +Header append Cache-Control "public" +Header unset Last-Modified + + + + + +Header unset Pragma +Header append Cache-Control "public" + + + + +# Expires headers (for better cache control) + + 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" + # 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 1 month" + 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" + +# Gzip compression + +# Active compression +SetOutputFilter DEFLATE +# Force deflate for mangled headers + + +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 + + + +# Compress all output labeled with one of the following MIME-types + +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 + + +Header append Vary: Accept-Encoding + + + + +AddType text/html .html_gzip +AddEncoding gzip .html_gzip + + +SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip + + + +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} !(woocommerce_items_in_cart|wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC] +RewriteCond %{REQUEST_URI} !^(/(.+/)?feed/?.+/?|/(?:.+/)?embed/|/validation/(.*)|/panier/|/mon-compte/(.*)|/wc-api/v(.*)|/(index\.php/)?wp\-json(/.*|$))$ [NC] +RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [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] + +# END WP Rocket + # Security improvements Header always set X-Frame-Options "SAMEORIGIN" Header always set X-Xss-Protection "1; mode=block" @@ -21,6 +161,11 @@ RewriteCond %{HTTP_HOST} ^physioassist.de [NC] RewriteRule (.*)$ https://www.physioassist.de/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^physioassist.fr [NC] RewriteRule (.*)$ https://www.physioassist.fr/$1 [R=301,L] + +# Domain aliases +RewriteCond %{HTTP_HOST} ^physio-assist.de [NC,OR] +RewriteCond %{HTTP_HOST} ^www.physio-assist.de [NC] +RewriteRule ^(.*)$ https://www.physioassist.de/$1 [L,R=301,NC] # BEGIN WordPress -- 2.39.5