这是我如何修复同样的问题。
在.htaccess中添加新的类型:
AddEncoding gzip .jsgz .cssgz .htmlgz .datagz
AddType application/javascript .jsgz
AddType text/css .cssgz
AddType text/html .htmlgz
AddType text/plain .datagz
这样做是因为AddType指令不接受.html.gz格式的扩展名。
然后修改您的重写规则:
RewriteRule ^(.+)\.(html|css|js|data)$ $1.$2gz [L]
最后重命名你的文件。从.html.gz,.js.gz等删除点。
完整的.htaccess将如下所示:
AddEncoding gzip .jsgz .cssgz .htmlgz .datagz
AddType application/x-javascript .jsgz
AddType text/css .cssgz
AddType text/html .htmlgz
AddType text/plain .datagz
RewriteEngine on
# If client accepts compressed files
RewriteCond %{HTTP:Accept-Encoding} gzip
# and if compressed file exists
RewriteCond %{REQUEST_FILENAME}gz -f
# send .html.gz instead of .html
RewriteRule ^(.+)\.(html|css|js|data)$ $1.$2gz [L]