通过 .htaccess 进行 Gzip 压缩不起作用 [英] Gzip compression through .htaccess not working
问题描述
我一直在创建一个网站并通过 gtmetrix.com 检查它的速度.我使用以下 .htaccess
文件来压缩 .js、.css
和更多文件.
I have been creating a site and checking it's speed through gtmetrix.com. I used the following .htaccess
file to compress the .js, .css
and many more files.
<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>
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
Options Indexes
IndexOptions FancyIndexing
ExpiresActive On
ExpiresDefault "access plus 7 days"
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/html A2592000
ExpiresByType text/xml A2592000
ExpiresByType text/css A2592000
ExpiresByType text/plain A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/bmp A2592000
ExpiresByType application/x-shockwave-flash A2592000
<FilesMatch ".(html?|txt)$">
ForceType 'text/html; charset=UTF-8'
</FilesMatch>
<FilesMatch ".(css)$">
ForceType 'text/css; charset=UTF-8'
</FilesMatch>
<FilesMatch ".(js)$">
ForceType 'text/javascript; charset=UTF-8'
</FilesMatch>
<FilesMatch ".(css|js)$">
Header append Vary Accept-Encoding
</FilesMatch>
但是当我运行页面测试时,它显示以下 -----
But when I run the page test it shows the following -----
Compressing the following resources with gzip could reduce their transfer size by 882B (48% reduction).
Compressing http://wooflux.co.cc/ could save 645B (48% reduction).
Compressing http://wooflux.co.cc/style.css could save 237B (51% reduction).
但我已经对我的 .htaccess
文件进行了 gzip
压缩.我不知道这里出了什么问题,顺便说一下,我对这种编码风格很陌生.所以如果我做错了什么,请告诉我.
But I have done gzip
compression on my .htaccess
file. I don't what is getting wrong here, and by the way I'm very new to this coding style. So please let me know if I'm doing any error or not.
推荐答案
我没有使用过 mod_gzip 但这里是我的 .htaccess 我用来通过 mod_deflate gzip .js、.css 和其他文件:
I have not used mod_gzip but here is my .htaccess I use to gzip .js, .css and other files via mod_deflate:
#Gzip
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x- javascript application/javascript
</ifmodule>
#End Gzip
如果您还不知道,Firebug 对于检查下载的内容是否被 gzipped 非常有用.单击 Firebug 中的Net"选项卡,然后执行 shift-f5 以让 Firefox 重新加载所有 .js 和 .css 文件,以便它们显示在 Net 面板中.单击 .js 或 .css 文件旁边的+",然后单击标题"选项卡.如果响应是 gzip 压缩的,您将在响应标头部分看到Content-Encoding gzip".我认为 IE、Safari 和 Chrome 等价物提供了相同的功能.
In case you are not already aware of it, Firebug is very useful for checking if downloaded content is gzipped. Click on the "Net" tab in Firebug and then do shift-f5 to get Firefox to reload all the .js and .css files so they show in the Net panel. Click the "+" next to the .js or .css file and click the "Headers" tab. If the response is gzipped you will see "Content-Encoding gzip" in the Response Headers section. I image the IE, Safari, and Chrome equivalents offer the same ability.
关于在 IE6 上压缩 .js 和 .css 文件的一个问题需要注意.我认为它只适用于 IE6 SP1 用户.
There is one gotcha regarding gzipping .js and .css files on IE6 to watch out for. I think it is only applicable to IE6 SP1 users.
这篇关于通过 .htaccess 进行 Gzip 压缩不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!