zoukankan      html  css  js  c++  java
  • PhpStudy如何开启Apache的gzip压缩功能?

    要让apache支持gzip功能,要用到deflate_Module和headers_Module。
    打开apache的配置文件httpd.conf,大约在105行左右,找到以下两行内容:(这两行不是连续在一起的)
    #LoadModule deflate_module modules/mod_deflate.so
    #LoadModule headers_module modules/mod_headers.so
    然后将其前面的“#”注释删掉,表示开启gzip压缩功能。

    开启以后还需要进行相关配置。在httpd.conf文件的最后添加以下内容即可:
    <IfModule deflate_module>
    #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
    SetOutputFilter DEFLATE
    </IfModule>
    最少需要加上以上内容,才可以生gzip功能生效。由于没有做其它的额外配置,所以其它相关的配置均使用Apache的默认设置。


    注意,这里要强调一个地方,我是通过搜索引擎找到相关文章进行设置的,而这些文章可能是来回复制的,有错误都不知道,如果你也按照那些做法去做,八层是出错,直接Apache都启动不了。究其原因,主要是有个参数不匹配。在上面去掉注释的“#”,即:
    LoadModule deflate_module modules/mod_deflate.so
    这里以后会用到中间的名称,即deflate_module。后续开启gzip压缩中要使用该名称,即:
    <IfModule deflate_module>
    ......
    ......
    </IfModule>
    这两个deflate_module必须一致。网络上其它很多文章,都是不一致的,所以直接报错。


    下面是另一个典型配置,供参考。这里不建议将图片视频等多媒体文件进行gzip压缩,一般只压缩纯文本格式的文件,如.php、.txt、.html、.css、.js等。
    <IfModule deflate_module>
    #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
    SetOutputFilter DEFLATE

    #压缩级别,1-9,9为最高
    DeflateCompressionLevel 7

    #不进行压缩的文件
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

    #针对代理服务器的设置
    <IfModule headers_moudle>
    Header append vary User-Agent
    </IfModule>
    </IfModule>

    检查网站是否压缩网址:http://tool.chinaz.com/Gzips/

  • 相关阅读:
    linux进程调度(zz)
    为什么vfork的子进程里用return,整个程序会挂掉,而且exit不会(zz)
    ubuntu安装samba
    【前端知乎系列】ArrayBuffer 和 Blob 对象
    【Web技术】442- 关于图片懒加载的几种方案
    【Web技术】441- 蚂蚁前端研发最佳实践
    【面试题】440- 10 道 Nodejs EventLoop 和事件相关面试题
    【面试题】439- 这是一道网红面试题
    【Web技术】438- 移动端体验优化经验总结与实践
    记 · 寒风依旧 · 虎跑路和人生路
  • 原文地址:https://www.cnblogs.com/ahmm/p/8930067.html
Copyright © 2011-2022 走看看