location = precedence breakage

Igor Sysoev igor at sysoev.ru
Wed Dec 16 16:57:53 MSK 2009


On Wed, Dec 16, 2009 at 08:48:38AM -0500, kyleb wrote:

> This worked consistently in 0.7.6x (and according to the docs, it should work):
> 
> location = /base {  }
> location ^~ /base {  }
> 
> On testing 0.8.30, accessing http://my.server/base works, but 
> http://my.server/base/plus/long/path/used.by.application
> hangs for awhile, then returns a socket error.  I even tried differentiating configuration with trailing slash:
> 
> location ^~ /base/ {  }
> 
> ...but apparently, the same results.
> 
> Logs show nothing.  The access with the longer path doesn't show up in logs at all (not access, not error).  I don't have debug build on hand right now, maybe I will compile one later if I have time.  No crash, nginx stays up, but request utterly fails.
> 
> Any changes to location resolving code that would break the precedence between = and other operators, resulting in nginx to be confused?

It should work. The problem is not in locations.


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



More information about the nginx mailing list