Rewriting Base URL when passing

Valentin V. Bartenev ne at vbart.ru
Wed Feb 15 18:08:22 UTC 2012


On Wednesday 15 February 2012 21:32:30 adam estes wrote:
> I'm trying to setup Django through UWSGI using Nginx.
> 
> I got the UWSGI pass to work using this function
> 
>                 location / {
>                         include        uwsgi_params;
>                         uwsgi_pass     127.0.0.1:9001;
>                 }
> Unfortunately when I visit /django/admin. I get an error
> 
> Page not found (404) Request Method: GET Request URL:
> http://69.x.x.x/django/admin Using the URLconf defined in Django.urls,
> Django tried these URL patterns, in this order: ^admin/
> 
> How can I have nginx rewrite the url to not pass the /django part?

You can use "rewrite" directive:

  http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite

Or regexp "location" with captures and correspond uwsgi_param setting.

  http://nginx.org/en/docs/http/ngx_http_core_module.html#location

i.e.:

 location /django/ {

     location ~ ^/django(?P<adm_path>/admin/.+)$ {
         uwsgi_param  PATH_INFO  $adm_path;
         ...
     }

 }

 wbr, Valentin V. Bartenev



More information about the nginx mailing list