Apache:发送预先打包的gzip格式的文件

我希望Apache能够通过电话传送静态文件,但是也希望Apache不要一遍又一遍地将它们一起gzip。 所以我想如果它存在的话.gz文件是不可能的。 这个设置:

文件结构:

static/ | |--- style.css | \--- style.css.gz 

和下面的.htaccess中:

mod_rewrite规则:

 RewriteCond %{REQUEST_FILENAME}.gz -s RewriteRule ^(.+) $1.gz [L] 

而这个设置:

 AddEncoding x-gzip .gz 

实际上,只要发送.gz文件而不是.css文件,如果请求进入/static/style.css 。 问题仅在于,文件是以“application / x-gzip”而不是“text / css”的forms提供的。 使用mod_rewrite的T标志不会改变这个。 也不明确

 AddType text/css .css 

有没有人有一个想法,我怎么能达到预期的行为? 还是因为某种原因没有必要呢?

编辑:还有一个额外的困难:发送原始文件给客户端没有gzip的支持。 有没有人知道这可以如何工作?

将不正确的版本发送给不接受gzip的浏览器的解决scheme可能是:

 RewriteCond %{HTTP:Accept-Encoding} !gzip ...your rules here... 

另外,还有另外一种方法来改变types,即:

 <FilesMatch .*\.css.gz> ForceType text/css </FilesMatch> <FilesMatch .*\.js.gz> ForceType text/javascript </FilesMatch> 

HTH。

嗯,似乎我find了一个解决scheme:如果设置了相同的规则,T标志不起作用,但它确实如此,如果您花费自己的规则:

 RewriteCond %{REQUEST_FILENAME}.gz -s RewriteRule ^(.+) $1.gz RewriteRule \.css\.gz$ - [T=text/css] RewriteRule \.js\.gz$ - [T=text/javascript] 

不过,我想听听别人的解决scheme和意见。