это .htaccess
файл:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 4 month"</IfModule>
<IfModule mod_headers.c>
Header merge X-ModHeaders "Yes, it is installed"</IfModule>
… работает как положено в моем блоке разработки (Windows box, Apache / 2.4.10, PHP работает как модуль Apache), где «работает» означает, что он генерирует соответствующие заголовки для всех ресурсов (статических или динамических).
Однако на моем производственном сервере (Linux box, Apache / 2.2.31, PHP, работающий как FastCGI с mod_fcgid / 2.3.9) он работает только для статических ресурсов, а не для сценариев PHP.
Правильно ли я подозреваю, что это связано с PHP SAPI? Есть ли способ исправить это, чтобы мне не нужно было дублировать код, который генерирует заголовки HTTP?
Если PHP работает через mod_proxy_fcgi, возможно, не задействован каталог файловой системы, следовательно, поиск htaccess не может произойти.
Более поздний вариант php + mod_proxy_fcgi, документированный в руководстве, который использует SetHandler вместо ProxyPass, — позволяет обрабатывать такие вещи, как htaccess, потому что ядро фактически ищет URL в файловой системе в качестве первого шага.
Других решений пока нет …