Я одолжил немного mod_expires
код из HTML5 Boilerplate, который добавляет некоторые разумные значения по умолчанию для истечения срока действия активов (у меня есть версия файла revving, настроенная с помощью htaccess, поэтому я могу добавлять mtimes перед расширениями активов, такими как script.123456789.js
):
ExpiresActive on
ExpiresDefault "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 year"
# Data interchange
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# ... etc ...
Однако я бы хотел отключить их на своем сервере разработки (который устанавливает DEVELOPMENT=1
переменная среды). Можно ли условно отключить mod_expires
(возможно ExpiresActive On
) в 2.4.4, как вы можете с mod_access
если установлена переменная среды (Allow from env=DEVELOPMENT
)?
Я не знаю простого способа сделать это на основе значения переменной окружения. Вы могли бы найти способ с помощью mod_rewrite, но это было бы некрасиво.
Более простой способ - установить на сервере разработки переключатель командной строки, -DDEVELOPMENT
для Apache вместо (или в дополнение к) переменной среды. Тогда конфигурация Apache становится тривиальной:
<IfDefine !DEVELOPMENT>
ExpiresActive on
...
</IfDefine>
Правильное место для установки переключателя зависит от вашего дистрибутива. В Debian & family вы устанавливаете
export APACHE_ARGUMENTS=-DDEVELOPMENT
в / etc / apache2 / envvars. В RHEL вы устанавливаете
OPTIONS=-DDEVELOPMENT
в / etc / sysconfig / httpd.