A diretiva fastcgi_param determina o que variables são passados para o aplicativo FastCGI. Você pode estar passando $request_uri
, que é o URI bruto, enquanto o Django espera um URI decodificado, que está na variável $uri
.
Eu tenho um projeto django hospedado no nginx com o fastcgi. O Django tem alguns URLs que usam caracteres cirílicos. Mas quando tento abrir a página com esse link, o django diz que não tem tal modelo, pois o link escapou e foi levado para o django como "% D0% BA% D0% BD% D0% B8% D0% B3 % D0% B8 ". No apache, o mesmo projeto funciona bem. Qual opção eu preciso dizer ao nginx para não escapar de links como esse?
A diretiva fastcgi_param determina o que variables são passados para o aplicativo FastCGI. Você pode estar passando $request_uri
, que é o URI bruto, enquanto o Django espera um URI decodificado, que está na variável $uri
.
Para o Django 1.6 > de acordo com as mudanças ... essas configurações não são mais necessárias, link Eu comentei ambas as linhas Path info e Script Name em fastcgi_params (em casos do tipo Debian) ou no nginx.conf (casos RHEL)