Trouble with a complex rewrite

Igor Sysoev is at rambler-co.ru
Tue Apr 3 00:19:31 MSD 2007


On Mon, Apr 02, 2007 at 03:55:20PM -0400, Wilson Bilkovich wrote:

> I have two more questions about this:
> 1. I can use any regular expression supported by PCRE, anywhere in my
> nginx config, correct?

The regexp engine is PCRE.

The regexp are supported in some directives only:
"if", "rewrite", and "location".

> 2. When I have nested locations, such as:
> location / {
>  location /api/receive {
>    break;
>  }
>  some_config_option on;
> }
> 
> Configuration options in the outer scope (location /, in this case)
> are always evaluated, despite the break command?
> In other words, break only 'breaks' from the location / rewrite loop,
> not from the rest of the configuration?

If the "rewrite" directive has rewritten URI, then nginx search the new
location configuration. The "break" stops this rewrite cycle.

The nested locations are not fully supported, you should use

   location / {
       ...
   }

   location /api/receive {
       ...
   }


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list