我正在用 gzip 做一些测试,我手动用 gzip 压缩了 CSS 和 JS。JS 的大小从 33kb 降到了 7kb。
问题是,当我查看 Chrome 或 Firefox 中的“网络”选项卡时,它显示文件大小为 33kb,而不是 7kb。扩展名仍为 gz,因此看起来它是同一个文件,它无法提供未压缩的版本。如果我在“网络”选项卡中右键单击该文件,然后将其保存在硬盘上,我会看到大小为 33kb,而不是 7kb,尽管扩展名仍为 gz。如果我尝试使用 7zip 进行解压,则无法完成。
在 js gz 文件的“请求标头”上,我有“Accept-Encoding:gzip,deflate”,在“响应标头”上,我有“Transfer-Encoding:chunked Vary Accept-Encoding”
我是否必须配置服务器以允许使用 gzip 压缩的 css 和 js?有没有办法在不更改服务器选项的情况下修复此问题,也许是 MIME?服务器运行 Apache/2.2.15 (CentOS)。
我已经打开这个了htaccess
,我必须更改它吗?
AddEncoding gzip .gz
<Files *.css.gz>
ForceType text/css
</Files>
<Files *.js.gz>
ForceType text/javascript
</Files>
<FilesMatch .*\.(js|css)>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !MSIE
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} (.*)/(css|js)/([0-9]+)(.*)
RewriteCond %1/%2/tmp/%3%4.gz -f
RewriteRule ^(.*)$ %1/%2/tmp/%3%4.gz [QSA,L]
RewriteCond %{REQUEST_FILENAME} (.*)/(css|js)/([0-9]+)(.*)
RewriteCond %1/%2/tmp/%3%4 -f
RewriteRule ^(.*)$ %1/%2/tmp/%3%4 [QSA,L]
</FilesMatch>