Apache deflate в.htaccess не работает
У меня есть виртуальный хост и я включил AllowOverride All
, Я знаю, что это работает, так как правила переписывания в /var/www/site/web/.htaccess
выполняются (это приложение Symfony). Однако, когда у меня есть DEFLATE
Править там, это не работает. Например просто:
AddOutputFilterByType DEFLATE application/json
Однако, если я добавлю это в конфигурацию своего виртуального хоста, это сработает. Это выглядит так:
/etc/apache2/sites-enabled/site.dev.conf
<VirtualHost *:80>
ServerName site.dev
DocumentRoot /var/www/site/web
<Directory /var/www/site/web>
AllowOverride All
Require all granted
</Directory>
# Setup passthrough to phm-fpm and auth header fix
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/site/web/$1
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ErrorLog /var/log/apache2/site_error.log
CustomLog /var/log/apache2/site_access.log combined
</VirtualHost>
Любые предложения относительно того, почему это не работает? Я знаю, что лучше всего применять такие правила в виртуальном хосте или, что еще лучше, в основном конфиге apache. Но мне просто любопытно, почему это не работает, если поместить в .htaccess
Это работает Apache 2.4
1 ответ
Вы проксируете, поэтому каталог файловой системы не задействован, поэтому вы ничего не можете поместить в htaccess и использовать его на самом деле.
Зачем вам беспокоиться о настройке DEFLATE в htaccess, если вы можете редактировать реальную конфигурацию?
Если вы настаиваете на использовании htaccess, вы можете использовать метод SetHandler для настройки mod_proxy_fcgi.