Disable gzip inside an IF statement?

Maxim Dounin mdounin at mdounin.ru
Mon Jun 29 15:28:06 MSD 2009


Hello!

On Fri, Jun 26, 2009 at 03:44:52PM -0400, cx wrote:

> I need to conditionally enable gzip, based on a variable.
> 
> When I try to use an "if" statement, it doesn't work, nginx complains I can't use "gzip" inside of "if".
> 
> Looking at the manual, I see gzip has the following context allowed:
> 
> "context: http, server, location, if (x) location"
> 
> What does "if (x) location" mean? I couldn't find an example.

It means bad translation.  Original docs say "if inside location" 
(in Russian).  So something like this will work (but beware, orges 
- as usual with if's):

server {
    ...

    location / {
        if (...) {
            gzip off;
            break;
        }
        ...
    }

}

But this will complain:

server {
    ...

    if (...) {
        gzip off;
    }

    ...
}

Maxim Dounin

> Alternatively, if someone can suggest a way to disable gzip dynamically from within PHP, that would be great. It's possible to do this in Apache: 
> 
> <?php apache_setenv("no-gzip","1"); ?>
> 
> But obviously that function isn't supported in nginx.
> 
> Posted at Nginx Forum: http://forum.nginx.org/read.php?2,3455,3455#msg-3455
> 
> 





More information about the nginx mailing list