.htaccess 如果客户端支持gzip,则提供手动压缩索引

.htaccess 如果客户端支持gzip,则提供手动压缩索引,.htaccess,webserver,apache,.htaccess,Webserver,Apache,我有两个文件:index.html和index.html.gz 如果客户机支持gzip,我想为index.html.gz提供服务。 如果客户端没有,我希望提供index.html 如果访问者访问www.site.com,则此功能应有效 我真的不确定如何做到这一点:( 编辑:我正在尝试让它在.htaccess中工作 我可以通过以下方式轻松地使用其他页面: RewriteCond %{HTTP:Accept-encoding} gzip RewriteRule ^contact\.html$ con

我有两个文件:index.html和index.html.gz

如果客户机支持gzip,我想为index.html.gz提供服务。 如果客户端没有,我希望提供index.html

如果访问者访问www.site.com,则此功能应有效

我真的不确定如何做到这一点:(

编辑:我正在尝试让它在.htaccess中工作

我可以通过以下方式轻松地使用其他页面:

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteRule ^contact\.html$ contact.gz

但是我不能使用索引,因为人们不输入www.site.com/index.html。他们不输入index.html。

如果有人在读这篇文章,我最终找到了答案

有多种方法可以做到这一点,例如,如果存在文件的“.gz”版本(index.html.gz),一些Web服务器(如H2O)甚至支持自动为站点的预压缩版本提供服务

不过,我在Apache上的做法是使用.htaccess将文件的所有请求重定向到“.gz”实例

但是,当浏览器试图呈现gzip数据时,所有数据都会在浏览器中混乱显示,认为它是文本。当我发回文件的gzip版本时,我必须使用.htaccess将内容编码头正确设置为gzip。此后,一切都很好地工作


另一条建议是,在压缩文件时,使用批处理脚本使用每种压缩模式1-9压缩文件,最终将得到10个文件。您会注意到,在压缩模式5之后保存的文件大小几乎不可见,通常小于1KB,但解压缩此文件所需的CPU周期会不断增加。因此,请找到最佳的压缩模式每个文件的压缩级别,默认情况下不要设置为9。

不清楚您的要求是什么……胡乱猜测:Gzip压缩由Web服务器(包括apache)支持,因此您只需打开它,客户端浏览器将处理其余部分(无需
index.html.gz
!)-大多数浏览器已经支持gzip多年了。我理解。但是我正在手动压缩我的所有文件,因为我不想浪费cpu周期。我的页面是静态的,永远不会更改,我不需要服务器在每次新访问者到达时重新压缩它们。这会增加到第一个字节的时间,从而降低加载速度。好吧……这是一个I有趣的是,如果有点复古的话。我建议将
.htaccess文件类型重定向
放在你的问题标题中。