启用gzip压缩

时间:2013-12-11 13:22:18

标签: performance apache compression gzip

我的网站在Apache 2上运行,modGzip和deflate启用并正常工作!

我在htaccces文件中添加以下代码但是如果我在gzip压缩测试中检查我的页面。没有压缩..

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

我搜索了很多,并尝试了其他mod或deflate代码,但没有一个工作..我该怎么做才能启用gzip压缩?

Thanx很多!

3 个答案:

答案 0 :(得分:1)

适用于Apache

您需要将以下行添加到.htaccess文件中:

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
<IfModule>

在您保存.htaccess文件后,请测试您的网站以确保其已正确压缩。

参考: http://websitespeedoptimizations.com/OptimizeGzipCompressionPost.aspx

答案 1 :(得分:0)

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml text/x-js text/js 
</IfModule>

应该这样做。您需要清除浏览器缓存,刷新并在Google PageSpeed或YSlow中重新测试,以确保您获得了一些速度。

(您可能需要添加一些自己的mime类型)

编辑:以下是关于压缩的Apache文档,如果这有助于自定义/使其工作。 http://httpd.apache.org/docs/2.2/mod/mod_deflate.html

编辑2:我也会在gzip working but YSlow indicates it's not

中查看这个答案

答案 2 :(得分:0)

什么是压缩?

压缩可让您的网络服务器提供较小的文件大小,从而为网站用户更快地加载。

使用gzip压缩HTML和CSS文件通常可以节省文件大小的百分之五十到百分之七十。这意味着加载页面所需的时间更少,总体上使用的带宽也更少。

如何启用Gzip压缩 通过网络服务器配置启用压缩 不同的Web服务器具有不同的说明(如下所述) 这是启用压缩的最常用方法,包括.htaccess,Apache,Nginx和Litespeed Web服务器。

通过.htaccess启用压缩

下面的代码应添加到您的.htaccess文件中...

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

在Apache Web服务器上启用压缩

如果他们没有工作,那么还有另一种可能对您有用。如果以上代码似乎无效,请从您的.htaccess文件中将其删除,然后尝试使用此代码...

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

我希望它能正常工作