Debugging - location directives

This is basically a followup to my last post but I have some general
questions now.

I determined that in my config (and this seems to be Windoze only
because my Ubuntu version works fine), the location directives I’ve used
are just not getting hit.

  1. The order of the location directives does not matter–true? I have
    tried changing my order, but no luck.

1.a. What happens if two location directives are equivalent in terms of
pattern matching? Then maybe order does matter? BTW, this is not my
issue but I would like to know.

  1. What’s the best way to debug which location directive is being used
    for a given request?

  2. Are there any good docs for using the debug feature of logging?
    Verbose description of the various log messages? Maybe this is in the
    wiki and I can’t find it, or else maybe it could be in the wiki in the


Once again, here is my config. In Windoze I can’t get any of my static
assets (/images, /css, /js) to load and my motivation for the above

server {
listen *:80;
server_name jobsite.xpdesktop;

access_log logs/jobsite.access.log;
error_log logs/jobsite.error.log;

root /cygwin/home/Chris/www/live/jobsite/trunk/html/public;
index index.php index.html;

serve static files directly

    location ~*

.+.(jpg|jpeg|gif|css|png|js|ico|pdf|zip|tar|gz|bz|bz2)$ {
expires 30d;

location / {
fastcgi_param SCRIPT_FILENAME
fastcgi_param QUERY_STRING q=$request_uri;
include fastcgi_params;

location ~ (jpg|jpeg|gif|png)$ {


location ~ /.php$ {
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
fastcgi_param QUERY_STRING q=$request_uri;
include fastcgi_params;

location = /css/style.php {
fastcgi_param SCRIPT_FILENAME
include fastcgi_params;