Multiple conditions for rewrite

Corey Donohoe atmos at
Thu May 8 03:26:42 MSD 2008

On Wed, May 7, 2008 at 10:42 AM, Andrei GUDIU <andreig at> wrote:
> heya heya
>  does anybody know how I could user ngx rewrite to port the mod_rewrite ability
>  to have multiple conditions ?
>  like:
>   RewriteCond cond1
>   RewriteCond cond2
>   RewriteRule xmoo bla
>  the current config I am using:
>   if (cond1 && cond2) {
>   }
>  does not work (also using &, and does not work)
>  and:
>   if (cond1) {
>   if (cond2) {
>   }
>   }
>  does not work either :(
>  Should I use something like the "break"/"last" combinations ?

You can't nest if statements in nginx.  Every time that I've needed
nested if statements I've been able to wrap it up in a separate
location block or something similar.  Sometimes you have to think
about it for a little bit, but the solution usually presents itself.

You probably can leverage break/last to allow fall through in your
logic, but personally I always incorrectly guess the behavior the
first time I look at mroe complex rewrites. :)

I'd love to see nested ifs in nginx but I am a little scared about how
people will use them.

Corey Donohoe

More information about the nginx mailing list