httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua Slive" <jos...@slive.ca>
Subject Re: [users@httpd] mod_rewrite nocase loop problem
Date Mon, 05 Mar 2007 17:37:43 GMT
On 3/5/07, N.J. Thomas <njt@ayvali.org> 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: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message