httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Bailleul <Emmanuel.Baill...@telindus.fr>
Subject RE: [users@httpd] What is wrong with this RewriteCond?
Date Thu, 17 Dec 2009 22:25:21 GMT
> -----Message d'origine-----
> De : Eric Covener [mailto:covener@gmail.com]
> Envoyé : jeudi 17 décembre 2009 22:38
> À : users@httpd.apache.org
> Objet : Re: [users@httpd] What is wrong with this RewriteCond?
> 
> On Thu, Dec 17, 2009 at 4:24 PM, Perl Whore <whoreperl@gmail.com> wrote:
> > RewriteEngine On
> > RewriteCond %{HTTP_COOKIE} !test
> > RewriteRule /inbox$ /index.php
> > RewriteRule /compose-mail$ /index.php  <--- this works
> >
> >
> > RewriteCond %{HTTP_COOKIE} test
> > RewriteRule /compose-mail$ /proxy/ <--- this does not.
> > RewriteRule /inbox$ http://127.0.0.1:22131/ [P]
> > RewriteRule /inbox/(.+) http://127.0.0.1:22131/$1 [P]
> >
> > What is wrong in the above rules? Even cookie "test" is there, it
> > still uses the first rule and rewrites as index.php
> 
> A sequence of conditions only applies to the 1 rule immediately
> following it. Maybe you need the [C] flag or some restructuring?
> 
> --
> Eric Covener
> covener@gmail.com
> 
> ---------------------------------------------------------------------
> 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

Hello,

I guess the rewritecond does not match because a cookie header will rather be of the form
"cookie=something", so "test" alone is not a good candidate.
If you just want to check for its presence, you may use something like :
RewriteCond %{HTTP_COOKIE} !^.*test.*$
(the '.*' before is important as your cookie may be anywhere in a string containing multiple
cookies)
and if you want to match some content, something like :
RewriteCond %{HTTP_COOKIE} ^.*test=.*blah.*$
should do the trick.

Emmanuel

---------------------------------------------------------------------
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