diff --git a/content/.htaccess b/content/.htaccess new file mode 100644 index 0000000000000000000000000000000000000000..cacc4ef8707465091170440e020c571e7b7acc73 --- /dev/null +++ b/content/.htaccess @@ -0,0 +1,21 @@ +RewriteEngine on + +# We don't need more than that. +RewriteOptions MaxRedirects=2 + +# Redirect /foo/index.html to /foo/ +RewriteRule ^(|.*/)index\.html$ /$1 [R=301,L] + +# Redirect /foo/bar.html to /foo/bar only if a html file was requested by the +# browser. Without the condition the following rewrite rule leads to a +# redirection loop. +RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/ +RewriteRule ^(.*)\.html$ /$1 [R=301,L] + +# Rewrite /foo/bar to /foo/bar.html if the latter exists. +RewriteCond %{REQUEST_FILENAME}.html -f +RewriteRule ^(.*[^/])$ /$1.html [L] + +# Remove trailing slash if the requested directory does not exist. +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*)/$ /$1 [R=301,L]