我正在使用nginx和php5-fpm一起使用以下fastcgi_params文件:
fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param HTTPS $https; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_param REDIRECT_STATUS 200; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param REQUEST_URI $request_uri; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_NAME $server_name; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
我注意到$_SERVER['HTTP_REFERER']variables没有设置。 我search了nginx维基对Referer头部的任何引用,但是我找不到任何提及与fastcgi相关的问题。
我怎样才能让nginx通过这个头? 我在这里错过了很明显的东西吗
当且仅当远程用户代理(如Web浏览器)提供了可选的Referer:头部时, HTTP_REFERER环境variables将由nginx设置为CGI脚本。 这个头文件的内容在远程用户代理中也是完全任意的(尽pipe它们应该是访问的最后一页,这并不总是这样,没有什么限制)。
任何时候你的CGI脚本使用这个variables,它应该有一个替代的控制path来处理没有设置的情况,它应该认识到它经常是错误的或者被欺骗的。