I currently have the following (hacky) re-write rule in my nginx.conf to allow dynamic sub-domains to be re-directed to one Django instance.
set $subdomain "";
set $subdomain_root "";
set $doit "";
if ($host ~* "^(.+)\.domain\.com$") {
set $subdomain $1;
set $subdomain_root "/profile/$subdomain";
set $doit TR;
}
if (!-f $request_filename) {
set $doit "${doit}UE";
}
if ($doit = TRUE) {
rewrite ^(.*)$ $subdomain_root$1;
break;
}
I'm sure there is a more efficient way to do this but I need to change this rule so that any requests to .domain.com/media/ or .domain.com/downloads/ go to domain.com/media/* and domain.com/downloads/*
Any pointers on how to do this would be appreciated :)
EDIT: Answered my own question after reading the Nginx docs on the order that locations are matched :)
Thanks,
Richard.