rewrite只能针对请求的uri进行重写,/a.php问号后面的是请求参数,在nginx用$query_string表示,直接写这样的一条重写肯定不会正确匹配,因为rewrite参数只会匹配请求的uri,在写重写的时候需要把$query_string变量追加到重写的uri后面,为了防止uri中的参数追加到重写后的uri,可以在后面加个问号: if ($query_string ~ "...
$args#请求中的参数值 $query_string#同 $args $arg_NAME#GET请求中NAME的值 $is_args#如果请求中有参数,值为"?",否则为空字符串 $uri#请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/...
下面是可以用作if判断的全局变量 $args : 这个变量等于请求行中的参数,同$query_string $content_length : 请求头中的Content-length字段。 $content_type : 请求头中的Content-Type字段。 $document_root : 当前请求在root指令中指定的值。 $host : 请求主机头字段,否则为服务器名称。 $http_user_agent : ...
$query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。 $d...
$query_string: 等同于$args, 客户端请求的参数 $nginx_version: 当前nginx版本 $status: 服务器响应状态码 $server_addr: 服务器地址 $server_port: 请求到达的服务器端口号 $server_protocol: 请求的协议版本 $content_type: HTTP请求信息里的Content-Type字段 ...
query_string 是只读的不会改变 $remote_addr表示客户端的地址 $remote_port表示客户端连接使用的端口 $remote_user表示使用 Auth Basic Module 时定义的用户名 $request_filename表示用户请求中的 URI 经过 root 或 alias 转换后的文件路径 $request_body表示 HTTP 请求中的包体,该参数只在 proxy_pass 或 fastcgi...
$args :这个变量等于请求行中的参数,同$query_string $content_length : 请求头中的Content-length字段。 $content_type : 请求头中的Content-Type字段。 $document_root : 当前请求在root指令中指定的值。 $host : 请求主机头字段,否则为服务器名称。
$query_string 与$args相同; $scheme 用的协议,比如http或者是https $server_protocol 请求的协议版本,"HTTP/1.0"或"HTTP/1.1"; $server_addr 服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费); $server_name 请求到达的服务器名; ...
$args:#这个变量等于请求行中的参数,同$query_string $content_length:请求头中的Content-length字段。 $content_type:请求头中的Content-Type字段。 $document_root:当前请求在root指令中指定的值。 $host:请求主机头字段,否则为服务器名称。 $http_user_agent:客户端agent信息 ...