Назад | Перейти на главную страницу

Apache - принудительно установить статус 304 для всех изображений

Можно ли принудительно установить статус HTTP 304 для всех изображений? Я написал код ниже на своем vhost, но теперь вместо статуса 404/304 я получаю 500

<filesMatch "\.(ico|gif|jpg|png|jpeg)$">
  Header set 304 "HTTP/1.0 304 Not Modified"
</filesMatch>

У меня версия "Apache / 2.2.16 (Debian)". Спасибо за любую помощь

Интересный подход. Не уверен, насколько это будет эффективно, но, полагаю, стоит попробовать.

Это попытка установить заголовок ответа, когда вам нужно манипулировать статусом ответа. Пытаться..

RewriteEngine On
RewriteRule \.(ico|gif|jpg|png|jpeg)$ - [L,R=304]

Скорее, чем Header, то, что вы, вероятно, хотите здесь RedirectMatch

RedirectMatch 304 "\.(ico|gif|jpg|png|jpeg)$"

Ключ к тому, почему это работает, находится в Документация по перенаправлению:

Другие коды состояния могут быть возвращены путем указания числового кода состояния в качестве значения статуса. Если статус находится в диапазоне от 300 до 399, должен присутствовать аргумент URL, в противном случае его следует опустить. Обратите внимание, что статус должен быть известен коду Apache (см. Функцию send_error_response в http_protocol.c).


Удачи в возвращении ваших изображений. Могу я предложить вложить деньги в резервные копии того, что у вас осталось?