apache开启gzip的方法
在Apache中开启gzip压缩方法为:
1. 在httpd.conf 或者博客根目录的.htaccess文件中加入如下规则(Apache服务器需要支持 mod_deflate)
AddOutputFilter DEFLATE html xml php js css
</ifmodule>
或者添加
AddOutputFilterByType DEFLATE text/html text/xml application/x-httpd-php application/x-javascript text/css
</ifmodule>
经过查看,主机的Apache支持mod_deflate(使用httpd -M查看是否有mod_deflate模块,或者查看你的httpd.conf文件中LoadModules有没有这个mod_deflate模块开启),直接复制粘贴以上的代码到httpd.conf文件的结尾,重新启动apache服务就可以实现gzip压缩了。
如果主机的apache不支持mod_deflate,主机的php却支持zlib,也就是说支持gzip压缩,具体方法见下面描述:
对于静态网页(html,js,css),先设置URL Rewrite:
RewriteEngine On
RewriteBase /blog #更改为自己的博客的目录
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)(js|css|html|htm)$ /gzip.php?file=$1$2&type=$2 [L]
</IfModule>
可以通过URL Rewrite的方式请求这个gzip.php文件 (该文件需要放在”/”目录),这样静态文件的gzip压缩就OK了。
还有,对于由php动态输出的网页,常见的就是wp输出的页面,可以通过一个插件(gzippy)实现,直接到wp后台,在插件搜索里面输入“gzippy”然后安装即可。
gzippy只有一句话:
function gzippy() {
ob_start(‘ob_gzhandler’);
}
if(!stristr($_SERVER['REQUEST_URI'], ‘tinymce’) && !ini_get(‘zlib.output_compression’)) {
add_action(‘init’, ‘gzippy’);
}
?>
同时,对于主机的apache不支持mod_deflate,想让已经安装好的apache支持该模块,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c 和 mod_headers.c 。
这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src} 为 apache 源文件所在的目录)。
使用如下命令来单独编译这两个源文件。
[rootmin@localhost~]# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c
[rootmin@localhost~]# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c
When install the header module the src directory is {apache-src}/modules/metadata/mod_headers.c
So we need change the command as follows:{apache-bin}/apxs -i -a -c {apache-src}/modules/metadata/mod_headers.c
其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。
有时单独编译 deflate 模块时可能会碰到编译错误,提示是:
Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate
解决方法:编辑 /usr/local/apache2/bin/apr-config文件修改其中的 LDFLAGS 值为 “-lz”,然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。
注意:为了省却不必要的麻烦,请尽量在编译安装apache时直接加上 –enable-deflate –enable-headers 参数。
apache开启gzip的方法的更多相关文章
- linux centos apache开启gzip的方法
开启gzip压缩的方法很简单,连接服务器并打开配置文件“httpd.conf”,找到下面这两句,去掉前面的“#” 代码如下 1 LoadModule deflate_module modules/m ...
- 转: Apache开启gzip
Apache开启gzip gzip是什么 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度. 这一般是指WWW服务器 ...
- CentOS下Apache开启Gzip网页压缩功能
1.进入/etc/httpd/conf下打开httpd.conf文件 开启Gzip压缩功能,即去掉LoadModule deflate_module modules/mod_deflate.so这行前 ...
- nginx开启gzip的方法
nginx开启gzip的方法 1.vi打开Nginx配置文件 <pre>vi /usr/local/nginx/conf/nginx.conf</pre> 2.找到如下一段,进 ...
- apache在windows上开启gzip的方法
环境搭建好之后,默认并没有开启gzip功能.需要修改apache的httpd.conf配置文件进行开启.开启方法如下:1. httpd.conf中打开deflate_Module和headers_Mo ...
- Apache开启Gzip压缩设置(转)
第一步: 查看一下/etc/httpd/conf/httpd.conf中下面两个模块是否开启: LoadModule deflate_module modules/mod_deflate.so Loa ...
- windows apache 开启 GZIP
从服务端优化来说,通过对服务端做压缩配置可以大大减小文本文件的体积,从而使加载文本的速度成倍的加快.目前比较通用的压缩方法是启用gzip压缩.它 会把浏览器请求的页面,以及页面中引用的静态资源以压缩包 ...
- php简单开启gzip压缩方法(zlib.output_compression)
网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法.实际上每个php页面都要去加代码——当然也可以include引用,不过总显得略微麻烦 一般而言,页面文件开启gzip压缩以后,其 ...
- Apache开启GZIP 压缩网页
首先我们先了解Apache Gzip的相关资料. 一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的 ...
随机推荐
- Apache 目录权限
目录访问权限 输入用户名.密码后方可访问home目录下的文件: httpd.conf <Directory "D:/software/wwwroot/home"> Op ...
- img图片下有个间隙是为什么
转自知乎:http://www.zhihu.com/question/21558138要理解这个问题,首先要弄明白CSS对于 display: inline 元素的 vertical-align 各个 ...
- 再探ASP.NET 5(转载)
就在最近一段时间,微软又有大动作了,在IDE方面除了给我们发布了Viausl Studio 2013 社区版还发布了全新的Visual Studio 2015 Preview. Visual Stud ...
- 基于cocos2d-x的游戏框架设计——李成
视频:http://v.youku.com/v_show/id_XMzc5ODUyMTI4.html?f=17330006 网易科技讯 3月31日,第四届CocoaChina开发者大会暨Cocos2d ...
- HTML5表单内元素的required属性
当表单内元素(如input.textarea)中有required属性并且值不为false的时候,则该字段不能为空,否则提交失败. <input type="text" au ...
- 学习opencv中文版教程——第二章
学习opencv中文版教程——第二章 所有案例,跑起来~~~然而并没有都跑起来...我只把我能跑的都尽量跑了,毕竟看书还是很生硬,能运行能出结果,才比较好. 越着急,心越慌,越是着急,越要慢,越是陌生 ...
- ruby 把字符串转为正则匹配表达式
需求 函数,需要通过参数传递字符串,用来做正则匹配 reg = '[0-9]+' def func(str, reg) str.scan(reg) end 由于 reg 在其它地方定义, reg 是字 ...
- Makefile的规则
在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则:最基本的编写规则的方法是从最终的源程序文件一个一个的查看源码文件.把它们要生成的目标文件作为目标,而C语言源码文件和源 ...
- easyUI 比较时间大小
// function toDate(str){ // var sd=str.split("-" ...
- [转载][jQuery] Cannot read property ‘msie’ of undefined错误的解决方法
参考 [jQuery] Cannot read property ‘msie’ of undefined错误的解决方法 ---------------------------------------- ...