nginx fastcgi 链接中的 Unicode 字符

nginx fastcgi 链接中的 Unicode 字符

我有一个使用 fastcgi 通过 nginx 托管的 django 项目。Django 有一些使用西里尔字符的 URL。但是当我尝试打开带有此类链接的页面时,django 会告诉我它没有这样的模型,因为该链接已被转义并被带到 django 作为“%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8”。在 apache 上,同一个项目运行良好。我需要使用什么选项来告诉 nginx 不要转义这样的链接?

答案1

fastcgi_param 指令决定什么变量传递给 FastCGI 应用程序。您可能传递的$request_uri是原始 URI,而 Django 需要$uri变量中的解码 URI。

答案2

对于 Django 1.6> 根据变化...此设置不再需要, https://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#ChangedthewayURLpathsaredetermined 我已经注释掉了 fastcgi_params(在 Debian 类情况下)或 nginx.conf(RHEL 情况下)中的路径信息和脚本名称行

相关内容