tldr:如何在fastcgi_params
的值部分中随机混合文本和变量?特别是在变量之间添加空格作为文本,无论是否使用"
或'
都无效。
值可以包含文本,变量及其组合。
不明确链接或指定文本格式是什么或组合格式是什么。
我想在两个变量之间添加四个空格,以便理解fastcgi_param
中使用的'表达式格式'。我收到错误。以下是nginx.conf
中与行号相关的部分:
'
78: fastcgi_param SCRIPT_FILENAME $document_root' '$fastcgi_script_name;
82: # deny access to .htaccess files, if Apache's document root
产生
nginx: [emerg] unexpected "s" in <nginx.conf>:82
另一次尝试
78: fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name;
产生
nginx: [emerg] invalid parameter "$fastcgi_script_name" in <nginx.conf>:78
"
如果我像这样使用"
:
78: fastcgi_param SCRIPT_FILENAME $document_root" "$fastcgi_script_name;
我得到的错误是:
nginx: [emerg] unexpected end of file, expecting ";" or "}" in <nginx.conf>:128
如果我只是做
78: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
像往常一样,它有效,所以我相信我的 nginx.conf
没有其他错误。
试图查找source,但由于其广义性质,我还无法找到实际完成解析和变量替换的位置。
如何以自由格式的方式将文本和变量与nginx混合,特别是在fastcgi_param
的值部分?
我正在使用 nginx 1.2.5 。
答案 0 :(得分:1)
正如nginx mailing list已经回答的那样,试试这个:
fastcgi_param SCRIPT_FILENAME "$document_root $fastcgi_script_name";
或者这个:
fastcgi_param SCRIPT_FILENAME '$document_root $fastcgi_script_name';
如果参数包含特殊字符,则为整个参数 应该用单引号或双引号括起来。