我有一个这个js文件的js file and a gzipped version
。
我遇到的问题是尝试将此js文件的gzip压缩版本提供给支持它的浏览器。
我不知道该怎么做。如果我将js.gz添加到当前脚本元素,则它不会被加载并出错。
如何自动将此js的gzip压缩版本提供给支持的浏览器。
另外,我想限制为文件夹/resources/widget/
我don't want to compress on the fly
因为我有1000 requests per second
,所以需要几分钟才能取下服务器。每个js文件大约100KB,js.gz大约是16KB,所以如果能帮助我获得当前文件,我将不胜感激。
答案 0 :(得分:4)
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} “.*Safari.*” [OR]
RewriteCond %{HTTP:Accept-Encoding} !gzip
RewriteRule (.*)\.jgz$ $1\.js [L]
AddType “text/javascript;charset=UTF-8″ .jgz
AddEncoding gzip .jgz
将文件从.gz重命名为.jgz
或使用
<FilesMatch "\\.js.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\\.js$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>
答案 1 :(得分:1)
我遇到一些浏览器(特别是Safari)在文件扩展名为“.gz”时没有正确处理的问题。我们必须通过将文件重命名为“.jgz”
来解决这个问题答案 2 :(得分:0)
您可以使用htaccess为您支持gzip,支持它的浏览器:
见:
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
答案 3 :(得分:0)
如果您使用的是php:
在你的htaccess文件中:
RewriteEngine On
RewriteRule (.*)\.js compress-js.php?file=$1.js [L]
compress-js.php:
ob_start("ob_gzhandler");
header("Content-type: text/javascript; charset: ISO-8859-1");
echo (file_get_contents ($file));
这就是你需要的所有文件将以压缩格式提供。
只需将这两个文件.htaccess
和compress-js.php
添加到您的js文件夹或存储它们的任何位置。