Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2161753
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2015-03-26 19:12:29


在Apache的配置文件中找到下面行,将注释#去掉,重启。

  1. LoadModule deflate_module modules/mod_deflate.so  
  2. LoadModule expires_module modules/mod_expires.so  
  3. LoadModule header_module modules/mod_header.so  
在http.conf后面加上这一段进行定制:(如非必要,用默认的就好了)
  1.   
  2. AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-httpd-php text/javascript application/x-javascript text/css  
  3. AddOutputFilter DEFLATE js css         #压缩js,css文件  
  4. # Don't compress images                                           #对照片文件不进行压缩处理  
  5. SetEnvIfNoCase Request_URI (?:gif|jpe?g|png)$ no-gzip dont-vary  
  6. SetEnvIfNoCase Request_URI (?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary  
  7. SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary  
  8. #SetEnvIfNoCase Request_URI .(css|js)$ no-gzip dont-vary  
  9. # Make sure proxies don't deliver the wrong content  
  10. Header append Vary User-Agent env=!dont-vary  
  11. DeflateCompressionLevel 6  
  12. SetOutputFilter DEFLATE  
  13.   
  14.   
  15. ExpiresActive On  
  16. ExpiresByType text/css "now plus 1 month"  
  17. ExpiresByType application/x-javascript "now plus 5 day"  
  18. ExpiresByType image/jpeg "access plus 1 month"  
  19. ExpiresByType image/gif "access plus 1 month"  
  20. ExpiresByType image/bmp "access plus 1 month"  
  21. ExpiresByType image/x-icon "access plus 1 month"  
  22. ExpiresByType image/png "access plus 1 month"  
  23. ExpiresByType application/x-shockwave-flash "access plus 1 month"  
  24.   
  1. #使用mod_headers  
  2. #在.htaccess文件中添加如下内容可以实现缓存:  
  3.   
  4. # htm,html,txt类的文件缓存一个小时  
  5. "/.(html|htm|txt)$">  
  6. header set cache-control "max-age=3600"  
  7.   
  8. # css, js, swf类的文件缓存一个星期  
  9. "/.(css|js|swf)$">  
  10. header set cache-control "max-age=604800"  
  11.   
  12. # jpg,gif,jpeg,png,ico,flv,pdf等文件缓存一年  
  13. "/.(ico|gif|jpg|jpeg|png|flv|pdf)$">  
  14. header set cache-control "max-age=29030400"  
  15.   
  16.   

这样可以压缩一般网页中会用到的html、xml、php、css、js等格式档案输出,虽然会占用掉服务器处理器的一点点处理器时间,浏览者在接收 网页数据时也会消耗极短暂的一点点处理器时间,不过却可以大幅减少数据传输量,减少网络带宽被吃掉的情形。
DeflateCompressionLevel 9是指压缩程度的等级,从1到9,9是最高等级。据了解,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。
DeflateCompressionLevel 预设可以采用 6 这个数值,以维持耗用处理器效能与网页压缩质量的平衡。
 节选

  和 指令同样能够用易懂的语法格式进行定义:

ExpiresDefault " [plus] { }*"
ExpiresByType type/encoding " [plus] { }*"

其中是下列之一:

  • access
  • now (等价于'access ')
  • modification

plus 关键字是可选的。必须是整数[可以被atoi() 接受的],是下列之一:

  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds

例如,下列3个指令都表示文档默认的有效期是一个月:

ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"

有效期可以通过增加" "子句进一步调整:

ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"

注意,如果你使用基于最后修改日期的设置,"Expires:"头将不会 被添加到那些并非来自于磁盘文件的内容。这是因为这些内容并不存在"最后修改时间"的属性。

阅读(1155) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~