快讯资讯
手机优化
系统数码
网络通信人工智能
网站游戏
测评专题

  Apache mod_deflate压缩模块       Nginx中文域名配置    

Apache mod_deflate压缩模块bug解决方法

时间:2026-09-10 00:12 来源:未知 人气:

Apahce使用mod_deflate压缩模块,客户端(如浏览器)每次都会去服务器取数据(ps:Expires没有过期等情况下),即http请求头的状态码永远为200,而不会访回 304 Not Modified。

304 Not Modified?

如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体(会节省带宽和开销),因此始终以消息头后的第一个空行结尾。

问题

F5刷新,状态永远200,如下图:

这是Apahce本身的一个bug。Apache同时使用gzip压缩和缓存,etag名字会自动变成“******-gzip”,当存在gzip时就会出现问题。

解决方法

如果使用了《OneinStack》和《lnmp一键安装包》(ps:最新下载的已解决这个问题)选择安装了lamp模式,将会自动打开的压缩功能,需要通过如下方法解决此问题:

将文件/usr/local/apache/conf/httpd.conf最后几行将:

ServerTokens ProductOnly ServerSignature Off AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript DeflateCompressionLevel 6 SetOutputFilter DEFLATE Include conf/vhost/*.conf

替换为:

IfModule mod_headers.c AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript FilesMatch "\.(js|css|html|htm|png|jpg|swf|pdf|shtml|xml|flv|gif|ico|jpeg)$" RequestHeader edit "If-None-Match" "^(.*)-gzip(.*)$" "$1$2" Header edit "ETag" "^(.*)-gzip(.*)$" "$1$2" /FilesMatch DeflateCompressionLevel 6 SetOutputFilter DEFLATE /IfModule ServerTokens ProductOnly ServerSignature Off Include conf/vhost/*.conf

重启apache:

service httpd restart 测试

F5刷新:

Mon Jan 18 13:22:06 CST 2016

本文标签:

更多文章

相关文章

网站导航 | 快讯 | 资讯 | 手机 | 优化

  • 数码 | 网络通信 | 人工智能 | 网站 | 游戏

    合作伙伴:

  • 友情链接(欢迎业界知名网站交换链接)申请友情

    

    声明:本站资源皆来自网络,如有侵权问题,请联系管理员处理!

    Copyright ©2020-2028快知站 版权所有 All rights reserved.

    闽ICP备20010713号-1 闽公网安备 35020602001684号