使用服务器端包含和mod_deflate压缩时发生冲突

时间:2013-11-28 11:40:51

标签: apache .htaccess ssi

我正在尝试使用apache mod_deflate模块启用站点范围的压缩。这是在共享服务器上,所以当我有权访问.htaccess文件时,我无法改变服务器设置。服务器安装了带有mod_deflate

的Apache 2.4.6

我的问题是,通过向我的.htaccess添加必需的代码,我的服务器端包括被禁用(可能在压缩期间被删除?),或者整个事情只是中断而网站不会加载。

启用SSI的.htaccess代码是

  

AddHandler服务器解析.html

我使用以下格式在HTML

中实现SSI
<!--#include virtual="/includes/header.html" -->

我应该添加到.htaccess进行压缩的代码是:

<IfModule filter_module>
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/html'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/css'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/plain'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/x-component'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/javascript'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/json'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/xhtml+xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/rss+xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/atom+xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/vnd.ms-fontobject'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'image/svg+xml'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/x-font-ttf'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'font/opentype'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'image/x-icon'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = '/application/(javascript|json|xml|x-javascript)/'"
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = '/text/(html|css|javascript|plain|x(ml|-component))/'"
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
</IfModule>

添加上述内容会导致整个崩溃,删除SSI会使压缩工作,但会破坏包含!

1 个答案:

答案 0 :(得分:0)

我有同样的错误,我降级到Apache 2.2.22并且它有效。