压缩文件并将AddOutputFilterByType与.htaccess一起使用时发生500错误


500 error when compressing files and using AddOutputFilterByType with .htaccess

我在Windows Vista上使用Apache 2.4和PHP 5.5,并尝试压缩文件。

这是我的.htaccess

 RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)?$ index.php/$1 [L]
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

我在httpd.conf中启用了mod_deflatemod_headermod_ext_filter

但是服务器返回500错误。

有什么建议吗?

您还需要启用mod_filter,否则压缩将无法工作。

您启用了mod_filter吗?

这几乎是"尝试将gzip与.htaccess一起使用时出现错误500"问题的重复。这里说AddOutputFilterByType在Apache 2.1及更高版本中不受欢迎,这里说它在2.3.7中被移到了mod_filter。

当我在启用mod_deflate的WAMP设置(Win7上的Apache 2.4)中设置该指令时,我得到了500分;当我启用mod_filter时,它就消失了。