Запретить кеширование HTML на определенных страницах - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь кэшировать только мои ресурсы, а не реальную HTML-страницу для пары страниц на моем сайте.

В настоящее время мой заголовок элемента управления кэшем установлен на:

cache-control: max-age=0, no-cache, must-revalidate

мой файл .htaccess

# 1 Day for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico|JPG|woff)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>

На мобильном телефоне, когда пользователь открывает мой сайт, просматривает данную страницу, закрывает свое браузерное приложение, а затем снова открывает страницу, она загружается из кэша.

Когда я установил следующие заголовки, мобильный браузер корректно перезагружает страницу при повторном открытии браузера, но теперь он перезагружает все (javascript, css, images и т. Д.). Я только хочу, чтобы HTML перезагрузить.

response.headers["Cache-Control"] = "no-cache, no-store"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"

Как мне это сделать?

Заранее спасибо.

Обновлен файл .htaccess

<IffilesMatch ".(css|jpg|jpeg|png|gif|js|ico|JPG|woff)$">
Header set Cache-Control "max-age=2592000, public"
</If>
<Else>
Header set Pragma "no-cache"
Header set Expires = "0"
Header set Expires = "Fri, 01 Jan 1990 00:00:00 GMT"
Header set Cache-Control = "no-cache, no-store"
</Else>

1 Ответ

0 голосов
/ 11 мая 2018

Попробуйте полный набор заголовков, чтобы убедиться, что вы используете все браузеры.

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

Это обычно охватывает несколько проблем с кросс-браузерной совместимостью, включая мобильную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...