htaccess: https redirect on Upgrade-Insecure-Requests header
[sheet.git] / .htaccess
index b23841fb4e9e691abf8613fcc0d0fab4e96d2745..f6a07f70f110e35f4d9aa3821d09ecde1f72152a 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -1,4 +1,4 @@
-Options        -MultiViews
+Options        -MultiViews -Indexes
 DirectoryIndex index.plp
 DirectorySlash Off
 
@@ -13,6 +13,11 @@ RewriteRule ^(vi(?=m$)|.*)           http://sheet.shiar.nl/$1 [R=301]
 RewriteRule ^vim$                    /vi [R=301]
 RewriteRule ^cc$                     /countries [R=301]
 
+# forward to https protocol if requested
+RewriteCond %{HTTPS}                          =off
+RewriteCond %{HTTP:Upgrade-Insecure-Requests} =1
+RewriteRule (.*)                     https://%{HTTP_HOST}/$1  [L]
+
 # serve vim commands when requesting /digraphs.ex as well
 RewriteRule    ^(digraphs)\.ex(/.*)?$ $1.vim$2
 
@@ -21,6 +26,11 @@ RewriteCond    %{REQUEST_FILENAME}     !-f
 RewriteCond    %{DOCUMENT_ROOT}/$1.plp  -f
 RewriteRule    ^/*([^/]+)(.*)           $1.plp$2
 
+# replace jpeg images by webp alternatives if supported
+RewriteCond    %{HTTP_ACCEPT}           \bimage/webp
+RewriteCond    %{DOCUMENT_ROOT}/$1.webp -f
+RewriteRule    (.*)\.jpg$               $1.webp
+
 # allow browsers to cache for upto a month
 <IfModule headers_module>
 <FilesMatch "\.(?:css|js|json)$">