Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Сделать так чтобы браузер не брал данные из кеша. (http://forum.oszone.net/showthread.php?t=309347)

ScorpionXXX 18-12-2015 11:24 2586082

Сделать так чтобы браузер не брал данные из кеша.
 
Добрый день. Есть небольшой сайт на простом HTML. Пример заходят на сайт видят какую-нибудь информацию, через минуту я редактирую содержимое странички и закидываю ее на сайт, но те кто заново заходят видят предыдущую содержимое и пока не нажмут F5 они будут заходить и видеть старые данные. Это на всех браузерах.
Мне сказали что в код можно добавить скрипт (или что-то такое) чтобы при открывание браузер не брал из кеша а закачивал заново. Может кто подскажет как решить проблему? Профессиональным вебмастером не являюсь.

Habetdin 19-12-2015 18:58 2586519

ScorpionXXX, вам необходимо добавить заголовки, запрещающие кэширование:
Код:

# HTTP 1.1
Cache-Control: no-cache, no-store, must-revalidate
# HTTP 1.0
Pragma: no-cache
# Proxies
Expires: 0

Можно добавить мета-теги в код страницы (действительно для HTML4, для HTML5 - нет):
Код:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

Также это можно с помощью файла .htaccess, если веб-сервер — Apache:
Код:

<IfModule mod_headers.c>
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0
</IfModule>

Или средствами PHP, если планируете отойти в дальнейшем от статичного сайта в виде HTML-страниц:
Код:

header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");

Но тем, кто уже посмотрел старую версию страницы - придется еще раз форсированно её обновить.


Время: 12:00.

Время: 12:00.
© OSzone.net 2001-