How to edit url and pass forward to wsgi?
    Thomas Nyberg 
    tomnyberg at gmail.com
       
    Thu Sep  3 04:44:09 UTC 2015
    
    
  
Hello,
If I have the following directive:
     location ~ /staging/dog/.*/info/cat {
         rewrite /staging/(.+) /$1 break;
         include uwsgi_params;
         uwsgi_pass 127.0.0.1:3130;
     }
then a call to `http://127.0.0.1/staging/doc/v0.2/info/cat` gets passed 
through to my wsgi handler fine. Now if I leave that directive in place, 
but put the following one before it, then get "502 Bad Gateway":
     location ~ /dog/.*/info/cat {
         include uwsgi_params;
         uwsgi_pass 127.0.0.1:3030;
     }
Nothing else was changed. The route is different, the port is different. 
Why would this affect the other one? Is it that I'm somehow "breaking" 
out and _then_ matching the other one?
My question is: how do I _not_ break out? I've tried removing "break" 
but the effect seems exactly the same (i.e. undesired). How do I make it 
so that the url is rewritten and then pass immediately on? I.e. I want 
to _not_ leave the location box once I've matched. Is this possible?
I've searched the internet for a long time and read the docs here: 
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html but I've had 
no success so far. Thanks a lot for any help.
Cheers,
Thomas
    
    
More information about the nginx
mailing list