Я установил PHP 5.6.17
на сервер CentOS 6.4, используя руководство this. На этом сервере запущена установка Contao. Contao поставляется с этими директивами в своем умолчанию .htaccess:Разница между mod_ext_filter и mod_filter?
##
# Gzip compression
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</IfModule>
</IfModule>
Это обеспечивает автоматическое сжатие Gzip. Однако на этом сервере я заметил, что расширение mod_filter
не было включено по умолчанию, хотя оно должно быть частью пакета php56w-common
(см. https://webtatic.com/packages/php56/). Я заметил, что есть расширение mod_ext_filter
, хотя я изменил свои директивы соответственно (заменив mod_filter
на mod_ext_filter
), который, похоже, работает.
Я никогда не видел mod_ext_filter
раньше, поэтому мне интересно, что точная разница между этими двумя модулями (и почему чаще (?) mod_filter
модуль не был доступен в php56w-common
пакета для CentOS).
К сожалению, я добавил дополнительную информацию к исходному сообщению. Я вижу, поэтому 'mod_ext_filter' не совпадает с' mod_filter'. Как ни странно, даже если 'mod_filter' не загружен (согласно' phpinfo() 'и видя, что сжатие Gzip не включено из-за директивы' ', директивы' AddOutputFilterByType DEFLATE ... ' все еще работают. Как это может быть? –
fritzmg
Оказывается, на сервере возникла старая версия Apache, где 'mod_filter' интегрирован и, следовательно, недоступен в качестве модуля. Вот почему это сработало. – fritzmg