У меня есть проект django, размещенный на nginx с fastcgi. В Django есть URL-адреса, в которых используются кириллические символы. Но когда я пытаюсь открыть страницу с такой ссылкой, django сообщает, что у нее нет такой модели, потому что ссылка была экранирована и переносится в django как "% D0% BA% D0% BD% D0% B8% D0% B3 % D0% B8 ". На apache тот же проект работает нормально. Какой вариант мне нужно, чтобы nginx не избегал таких ссылок?
Для Django 1.6> в соответствии с изменениями ... эти настройки больше не нужны, https://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#ChangedthewayURLpathsопределены Я закомментировал строки Path info и Script Name в fastcgi_params (в случаях, подобных Debian) или в nginx.conf (случаи RHEL).
В директива fastcgi_param определяет, что переменные передаются в приложение FastCGI. Вы можете проходить $request_uri
который является необработанным URI, в то время как Django ожидает декодированный URI, который находится в $uri
переменная.