Здесь нет гонки или даже какого-либо неопределенного порядка, срок действия всегда будет запускаться перед «набором заголовков» из-за того, как модули, выполняющие эту работу, регистрируются в ядре Apache.
OneСледует помнить, что подобные исследования в Apache помогают в том, что конфигурация считывается при запуске и сохраняется в соответствующих модулях, которые впоследствии будут вызываться во время обработки запроса.Другими словами, упорядочивать в конфигурационном файле директивы из разных модулей обычно бессмысленно.Что имеет значение, так это то, что во время обработки запроса модуль оживает, проверяет свою конфигурацию и вносит изменения.
И mod_headers, и mod_expires выполняют работу, которую вы просите их, относительно поздно, после того, как ответ былгенерироваться.Зачем?Поскольку оба они вносят изменения относительно других заголовков ответа.
Если вопрос здесь заключался в том, как получить какое-либо альтернативное поведение, это частично зависит от того, что создает ответ для проверок работоспособности (или какими бы то ни было специальные запросы).
- Если это статические файлы, вы можете просто использовать ForceType, что произошло бы намного раньше.
- Если они каким-либо образом являются динамическими, ранние директивы, такие как ForceType или «Ранний набор заголовков», к сожалению, будут просто перезаписаны любой динамической вещью, которая думает, что знает лучший Content-Type для того, что она производит.
Одним из возможных простых вариантов для динамических файлов будет использование ExpiresDefault
в FilesMatch
.