На самом деле, я думаю, что гораздо проще изменить правила перезаписи nginx, чем писать промежуточное ПО для django, чтобы сделать это.После прочтения того, как nginx обрабатывает его сопоставление местоположений (наиболее точное -> наименее точное), я создал местоположения для / media и / download, а также перехват всех местоположений для /, а затем переместил правило перезаписи в каталог / location и упростил его.- поскольку я больше не беспокоюсь о проверке файлов, потому что все это местоположение передается в django, - правило становится таким:
set $subdomain "";
set $subdomain_root "";
if ($host ~* "^(.+)\.domain\.com$") {
set $subdomain $1;
set $subdomain_root "/profile/$subdomain";
rewrite ^(.*)$ $subdomain_root$1;
break;
}
и, вероятно, было бы еще проще, если бы мои сценарии nginx \ regex были лучше :)