apache httpd mod_expires не работает при включенной deflate

При установке Debian Jessie, я вручную установил wordpress и отредактировал .htaccess , включив mod_expires:

ExpiresActive On
ExpiresDefault modification

Однако, когда я использую Firefox Инспектор для наблюдения за сетевым трафиком, я обнаружил, что все файлы js и css возвращают 200 OK со сжатым с помощью gzip содержимым вместо HTTP 304.

Затем я провел небольшой эксперимент.

  1. Я создал почти пустой (несжимаемый) файл с именем foobar.css и просмотрите его в firefox. Он вернул 200 OK с несжатыми данными в первый раз и 304 Не изменено во второй раз.
  2. Я повторил одно и то же содержимое несколько раз, чтобы создать большой (сжимаемый) файл. На этот раз сервер вернул 200 OK с сжатыми данными в первый раз, второй раз, третий раз ... Каждый раз он возвращает тот же контент вместо ожидаемого ] 304 Not Modified .

Я просмотрел /etc/apache2/mods-enabled/deflate.conf и обнаружил, что text / css по умолчанию дефлирован:

...
AddOutputFilterByType DEFLATE text/css
...

Могут ли два модуля mod_expires и mod_deflate работать одновременно? Как мне их настроить?

Мне очень жаль, что я ломаный английский.

РЕДАКТИРОВАТЬ:

...
AddOutputFilterByType DEFLATE text/css
...

Могут ли два модуля mod_expires и mod_deflate работать одновременно? Как мне их настроить?

Мне очень жаль, что я ломаный английский.

РЕДАКТИРОВАТЬ:

...
AddOutputFilterByType DEFLATE text/css
...

Могут ли два модуля mod_expires и mod_deflate работать одновременно? Как мне их настроить?

Мне очень жаль, что я ломаный английский.

РЕДАКТИРОВАТЬ: Я нашел здесь обходной путь: https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22 Однако это только обходной путь. Я думаю, это действительно ошибка сервера.

1
задан 1 December 2015 в 15:14
1 ответ

Я нашел здесь обходной путь: https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22

Просто введите следующую строку .htaccess или файл конфигурации httpd:

RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"'

Грязный, но эффективный. ;)

0
ответ дан 4 December 2019 в 06:49

Теги

Похожие вопросы