如何让我的.htaccess文件允许Safari&其他浏览器打开GZIP?

时间:2009-08-07 17:04:50

标签: javascript .htaccess safari gzip google-chrome

我正在使用.htaccess文件来允许我的网页调用gzip压缩的JavaScript文件。

在ie8& ff3,但脚本未在Safari(或Chrome)中加载。

这是我正在使用的.htaccess文件:

<files *.js.gz>
ForceType text/javascript
Header set Content-Encoding: gzip
</files>

然后,例如,我可以从我的HTML页面调用JS文件:

<script src="foo.js.gz"></script>

如何修改上述.htaccess代码以使其适用于Safari(并且仍可用于其他浏览器)?

1 个答案:

答案 0 :(得分:4)

我假设您正在尝试使用Gzip压缩来加快资源和文本内容的下载速度。这是加快网站速度的好方法。

Safari,Chrome和IE6都存在Gzipped下载问题。此外,Apache将为您执行gzip压缩,无需手动gzip文件。试试这个片段:

# This uses mod_deflate, which is pretty standard on Apache 2.  Loading
# mod_deflate looks like this:
#
#   LoadModule deflate_module modules/mod_deflate.so
#
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html

在从Apache发出之前,应该安全地gzip所有文本,并且仅适用于支持它的浏览器。您可以正常链接到JavaScript和其他资源,只需myscript.js,在磁盘上没有gz扩展名或压缩。