$status

变量 $status 返回正在由 NGINX 处理的当前请求的 HTTP 响应状态码。 — NGINX Core (HTTP)

$status NGINX Core (HTTP)

说明

在 NGINX 中,$status 变量表示服务器为当前请求生成的响应的状态码。它在 NGINX 处理请求的过程中由 NGINX 自动设置,反映了请求处理的结果。常见的 HTTP 状态码包括 200(成功响应)、404(未找到)和 500(服务器错误)等。 一旦 NGINX 处理请求并生成相应的响应,该变量即可被访问。您可以将此变量用于多种用途,例如记录请求状态或根据请求结果执行条件操作。例如,如果某个请求返回 404 状态码,您可能希望触发特定的错误处理行为或记录日志以跟踪用户遇到页面未找到错误的频率。

配置示例

log_format custom '$remote_addr - $remote_user [$time_local] "${request}" $status ${body_bytes_sent} "$http_referer" "$http_user_agent"';

access_log /var/log/nginx/access.log custom;

子系统

http

可缓存

上下文

http, server, location, if

确保在请求处理完成后再访问 $status 变量。在配置中过早访问它可能会产生意外的结果。

在条件表达式中使用 $status 变量时,要注意 NGINX 的求值顺序,以避免基于其值做出错误的假设。