在我的网站中,我有一些最常用和最大文件的gzipped副本(因为我的托管不允许使用gzip压缩模块)。
我在htaccess文件中插入了重写规则,以便在可用时发送gzipped副本,如下所示:
<FilesMatch "\.html\.gz$">
ForceType text/html
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.js\.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.css\.gz$">
ForceType text/css
Header set Content-Encoding: gzip
</FilesMatch>
RewriteEngine on
rewritecond %{HTTP:accept-encoding} (gzip.*)
rewritecond %{REQUEST_FILENAME} !^.+\.gz$
rewritecond %{REQUEST_FILENAME}.gz -f
rewriterule ^(.+) $1.gz [L]
这在FF和Chrome中运行良好,但在IE8中,gzip压缩内容显示为文本。
答案 0 :(得分:0)
你可以简单地激活MultiViews并让Apache完成其余工作:
Options +MultiViews
然后,如果客户端接受压缩,它将自动发送相应的文件(如果存在)(参见Note on hyperlinks and naming conventions)。