Apache DEFLATE 配置

标签 apache

我的 Apache 配置文件中有 VirtualHost 定义。在这个定义中,我已经实现了 SetOutputFilter DEFLATE。我的问题是我需要从 deflate 中排除大小小于 10k 的文件。 当我尝试使用 SetEnvIf Content-Length "^[0-9][0-9]?[0-9]?[0-9]?$"no-gzip 函数时,它不起作用。由于我的请求的内容长度在响应中被检查

最佳答案

可以在您的请求中设置一些特定的 header 。基于这个 header ,apache 可以决定是否压缩您的页面。

LoadModule deflate_module                 /modules/mod_deflate.so
LoadModule headers_module                 /modules/mod_headers.so

<IfModule mod_deflate.c>
    <IfModule mod_setenvif.c>
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    </IfModule>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
    SetEnvIf DoCompress "^true" no-gzip dont-vary
    AddOutputFilterByType DEFLATE text/css application/x-javascript text/html
</IfModule>

关于 Apache DEFLATE 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149221/

相关文章:

php - 无法通过 HTTPS 访问 SOAP Web 服务

regex - 如何从 url 中删除查询字符串?

apache - 通过将主机名放在主机文件中来加速 Apache 重定向

python - 为什么运行 python 脚本会导致 Apache 出错

java - 更新 war 文件中的 java 文件

apache - 仅在用户登录时使用 https,否则在 Web 应用程序中使用

php - 如何为每个目录设置 Php 的 auto_prepend_file 指令?

regex - [领域]/?使用 .htaccess 重定向到 [域]

php - Apache 两个应用程序一个域共享语言/en - Magento 和 Wordpress

apache - Symfony2 网站不返回 404 错误