如果请求来自Mozilla浏览器并且请求的内容使用mime类型application / pdf,我需要设置no-gzip标志。这似乎应该是相当微不足道的,但我在找出表达它的正确方法时遇到了一些麻烦。
我已使用以下内容检查浏览器:
BrowserMatch ^Mozilla moz
据我所知,如果浏览器是Mozilla,该语句会将环境变量'moz'设置为true。在此之后,我遇到了一些麻烦。具体来说,我似乎无法找到一种方法来找出将要返回的内容类型。从查看apache环境变量列表,HTTP_ACCEPT似乎相关,但我找不到对正确语法进行检查的引用。从我读过的教程中,我假设了以下内容:
%{HTTP_ACCEPT} application/pdf pdf
会将'pdf'变量设置为true,但apache服务器不会启动(强烈暗示这根本不对)。同事还提到他认为存在一个名为mime的指令,它允许您将内容类型检查为:
mime application/pdf pdf
同样地,我也无法让它工作(我找不到任何对这样的指令的引用,即使存在)。有人能指出一些好的初学者资源,这些资源能给我一些关于如何正确执行这些检查和引用变量的线索吗?我大部分都在检查apache文档本身和他们的一些教程,但我必须遗漏一些东西。
供参考,到目前为止我一直在查看的文档:
http://httpd.apache.org/docs/current/env.html
http://httpd.apache.org/docs/current/howto/cgi.html
提前感谢您的帮助。
答案 0 :(得分:0)
你非常接近,deflate文档有一个示例配置,显示如何gzip特定文件或如何免除某些文件:
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html
将BrowserMatch规则放在FilesMatch中,使它们仅适用于PDF。
http://httpd.apache.org/docs/2.0/mod/core.html#filesmatch
那应该有用,祝你好运!
<强>更新强>
在问题海报中获得更多信息之后,似乎mod_filter应该能够组合用户代理(浏览器)和内容类型的条件。 (在评论中讨论)