You are here

Rewrite Rules (not) - Lowercase URLs, but only for some specific paths

This took me enough time to get right to post a little blog post about it:

        RewriteEngine on
        RewriteMap lc int:tolower
        RewriteCond %{REQUEST_URI} (shared|Shared|download|Download)/[A-Z]
        RewriteRule (.*) ${lc:$1} [R=301,L]

Note that this doesn't work in .htaccess - you have to put it higher up in the Apache configuration.

I tried extra RewriteConds, to no avail, somehow Apache seems to add [OR]s anyway, even though the documentation states that you have to specify them (there is no [AND] directive). I tried adding the "shared" and "download" to the RewriteRule, leading to infinite redirects. Of course adding [NC] to the RewriteCond will also lead to infinite redirects.

Apache configuration is so much fun.