压缩文件和将AddOutputFilterByType与.htaccess一起使用时出现500错误

时间:2014-04-26 19:56:28

标签: php apache .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

我在mod_deflate启用了mod_headermod_ext_filterhttpd.conf

但服务器返回500错误。

任何建议?

2 个答案:

答案 0 :(得分:9)

您还需要启用mod_filter,否则压缩将无效。

答案 1 :(得分:2)

您是否启用了mod_filter?

几乎是问题"getting error 500 when trying to use gzip with .htaccess"的副本。它说here在Apache 2.1及更高版本中不推荐使用AddOutputFilterByType,它说here它被移动到2.3.7中的mod_filter。

当我在WAMP设置中设置此指令(Win 7上的Apache 2.4)并且启用了mod_deflate时,我得到了500;当我启用mod_filter时它就消失了。