Рейтинг:0

Apache: я не могу установить полный заголовок кеша для текста/html с помощью htaccess

флаг ro
228

У меня была аналогичная проблема, когда я не мог установить полный заголовок кеша для файлов JS и CSS в моем файле htaccess, и оказалось, что я не могу, потому что срок действия кеша был установлен на сервере, и мне пришлось добавить AllowOverride все в контейнере vhost, чтобы заставить его работать, но я все еще не могу установить полный заголовок кеша для текста/html на странице. Я могу установить максимальный возраст, используя mod_expires в моем файле htaccess, но если я попытаюсь установить заголовок кеша следующим образом:

<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
    FileETag MTime Size
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header set Cache-Control "no-cache, must-revalidate, public"
    </IfModule>
</FilesMatch>

Публичные данные без кеша, требующие повторной проверки, не отображаются. Единственное, что отображается в управлении кешем, — это максимальный возраст. Кто-нибудь знает, как это исправить, чтобы я мог установить весь заголовок кеша в htaccess для текста/html?

Вот что у меня есть после предложения Боба, и это все еще не работает:

<FilesMatch ".+\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
    FileETag MTime Size
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header set Cache-Control "no-cache, must-revalidate, public"
    </IfModule>
</FilesMatch>

Я пытаюсь установить заголовок кеша для файла с именем «/» в DevTools> Network с инициатором «document» и введите «html».

Рейтинг:0
флаг ro
228

Вот как вы делаете то, что я пытался сделать. На самом деле вы не указываете тип файла. Это сбивает с толку, потому что вы можете установить максимальный возраст для этого, используя тип text/html с mod_expires.

<IfModule mod_headers.c>
    Header set Cache-Control "max-age=31536000, no-cache, must-revalidate, public"
    Header set Pragma "no-cache"
</IfModule>
Рейтинг:0
флаг cn
Bob

Ваше регулярное выражение кажется неверным. На данный момент он соответствует только файлам с именами .html , .htm и т.д., а не то, что вы, вероятно, предполагали, все файлы с расширением .html.

Пытаться:

<FilesMatch ".+\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
228 avatar
флаг ro
228
Все еще не работает. Я пытаюсь установить заголовок кеша для файла с именем «/» в DevTools> Network с инициатором «document» и введите «html». Только max-age будет отображаться в cache-control, который устанавливается с помощью mod_expires, а не: no-cache, must-revalidate, public.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.