diff --git a/roles/live2dev/files/htaccess b/roles/live2dev/files/htaccess
index 02e68466860c0d940f57ab19f6f5d35ce6782c2e..37e0aeeed62eb6f4c1349b89d58db6de40194ae5 100644
--- a/roles/live2dev/files/htaccess
+++ b/roles/live2dev/files/htaccess
@@ -1,6 +1,6 @@
 # https://stackoverflow.com/a/10034368
 <FilesMatch "\.(ico|gif|jpg|png)$">
-          ExpiresActive On
+  ExpiresActive On
   ExpiresDefault "access plus 11 month"
   Header append Cache-Control "public"
 </FilesMatch>
@@ -22,14 +22,21 @@
 # https://stackoverflow.com/questions/24144552/how-to-set-hsts-header-from-htaccess-only-on-https
 Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
 
-# BEGIN WordPress
+# Redirect requests with trailing slashes that are not
+# directories, see https://github.com/cotech/website/issues/45
+# https://stackoverflow.com/a/21417551 
 <IfModule mod_rewrite.c>
-RewriteEngine On
-RewriteBase /
-RewriteRule ^index\.php$ - [L]
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule . /index.php [L]
+  RewriteCond %{REQUEST_FILENAME} !-d
+  RewriteRule ^(.*)/$ /$1 [L,R]
 </IfModule>
 
+# BEGIN WordPress
+<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