为什么我得到的 gzip css 和 js 是完整尺寸,而不是压缩尺寸

为什么我得到的 gzip css 和 js 是完整尺寸,而不是压缩尺寸

我正在用 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>

相关内容