根据nginx中的mime类型有条件地添加expires头

前端之家收集整理的这篇文章主要介绍了根据nginx中的mime类型有条件地添加expires头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在ubuntu 12.10上运行Nginx 1.4.1

需要有条件地发送expires头并基于http响应的mime类型/内容类型.

在location / {中添加了这段简单的代码

if ($sent_http_content_type = "text/css") { 
expires 7d;
}

即使$sent_http_content_type包含“text / css”,也不会发送过期标头

如何解决这个问题?

检查文件扩展名是不够的,因为在我的应用程序js,css中,图像是从PHP动态生成的.所以需要检查mime并根据它添加标题.

最佳答案
截至Nginx 1.7.9:

map $sent_http_content_type $expires {
  default         off;
  application/pdf 42d;
  ~image/         max;
}

expires $expires;

注意:$sent_http_content_type有效,但在服务器处理完请求之前无法访问它…

答案是指向application / pdf的map条目,它允许日期值,或者甚至可以是application / pdf modified 42d例如

猜你在找的Nginx相关文章