+Options -MultiViews -Indexes
DirectoryIndex index.plp
+DirectorySlash Off
RewriteEngine on
RewriteBase /
+# redirect from deprecated domain names
+RewriteCond %{HTTP_HOST} ^vim?\.shiar\.\w+$ [OR]
+RewriteCond %{HTTP_HOST} =sheet.shiar.net
+RewriteRule ^(vi(?=m$)|.*) http://sheet.shiar.nl/$1 [R=301]
+
+# redirect old locations
+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
+RewriteCond %{HTTP_HOST} =sheet.shiar.nl
+RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
+
+# serve vim commands when requesting /digraphs.ex as well
+RewriteRule ^(digraphs)\.ex(/.*)?$ $1.vim$2
+
# add .plp if a file exists with .plp appended (topdir only)
-RewriteCond %{REQUEST_FILENAME}.plp -f
-RewriteRule ^/*([^/]+)(.*) $1.plp$2
+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)$">
+Header set Cache-Control "max-age=2592000"
+Header set Access-Control-Allow-Origin "*"
+</FilesMatch>
+</IfModule>