我主持了一个 JavaScript 游戏,它基本上由一个 .html 和一个 .data 文件组成。如果我用 gzip 压缩它们,它们的大小会缩小到 25%。所以我想这样做。
我不是 100% 确定,但我认为使用 mod_gzip 或 mod_deflate 会即时压缩,因为内容没有改变,所以一直在浪费 CPU 时间。
所以我想预编译内容。因此,我在未压缩的文件旁边放了一个 .gz,并将重写规则放在 .htaccess 中:
RewriteEngine on
# If client accepts compressed files
RewriteCond %{HTTP:Accept-Encoding} gzip
# and if compressed file exists
RewriteCond %{REQUEST_FILENAME}.gz -f
# send .html.gz instead of .html
RewriteRule ^(.+)\.(html|css|js|data)$ $1.$2.gz [T=text/$2,E=GZIP:gzip,L]
Header set Content-Encoding gzip env=GZIP
重定向工作正常,我可以请求 game.html 并实际上获得了 game.html.gz。但是,浏览器不只是显示它。相反,它会询问我将文件保存在哪里。我该如何解决?或者也许还有另一种方法可以实现我的目标?