On 3/5/07, N.J. Thomas <[EMAIL PROTECTED]> wrote:
We have this working URL:

    http://example.org/BAR/

We would like to make the path portion of the URL case insensitive, so
that the following:

    http://example.org/bar/
    http://example.org/Bar/
    http://example.org/bAr/

Would all go back to the original URL. Using mod_rewrite, I tried applying
the following rule:

    RewriteRule ^/bar/$ /BAR/ [R=301,L,nocase]

But that creates a redirect loop that the browser barfs on. The browser itself 
says this:


I sort of see why the loop is happening, but it is my understanding that
the L flag would cause it to stop.

L flag is for internal rewriting.  With an external redirect, each
request looks completely new to apache.  There are lots of ways to
solve this.  Here's one:

RewriteCond %{REQUEST_URI} !^/BAR
RewriteRule ^/bar/$ /BAR/ [R=301,L,nocase]

The first line skips the rewrite if the case is already correct.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to