当然,来自http://wiki.nginx.org/HttpCoreModule#Variables
$sent_http_HEADER
The value of the HTTP response header HEADER when converted to lowercase and
with 'dashes' converted to 'underscores', e.g. $sent_http_cache_control,
$sent_http_content_type...;
所以你可以在 if 语句中匹配 $sent_http_response
有一个陷阱,因为http://nginx.org/en/docs/http/ngx_http_headers_module.html#expires没有列出 if's 作为 expires 指令的允许上下文
您可以解决在 if 块中设置变量的问题,然后像这样稍后引用它:
set $expires_time 1m;
if ($send_http_response ~* "200") {
set $expires_time 5m;
}
expires $expires_time;