Загружайте страницу заново, а не из кеша с помощью php - PullRequest
1 голос
/ 10 сентября 2011

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

Я пытался

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma-directive" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Directive" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">

Кроме того, поскольку это WordPress, я просто ставлю в очередь CSS, который добавляет версию темы в конце. так style.css? ver = 2.0.

Я запускаю это на IIS из-за корпоративной необходимости.

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

Ответы [ 2 ]

6 голосов
/ 10 сентября 2011

Если вы находитесь на странице PHP, просто добавьте случайное число к запросу

<link rel="stylesheet" type="text/css" href="style.css?random=<?php echo rand(1,100000); ?>" />

Вы также можете сделать это с заголовками PHP внутри файлов CSS / JS / etc, но тогда вам нужнодля анализа CSS и JS как PHP, и он становится немного грязным.

Другой вариант - настроить его через htaccess - любезно предоставлено http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html

<FilesMatch "\.(html|htm|js|css)$">
    FileETag None
    <IfModule mod_headers.c>
        Header unset ETag
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    </IfModule>
</FilesMatch>
0 голосов
/ 09 мая 2014

Потому что это WordPress:

Попробуйте плагины Style.css Last Version для WordPress, это предотвращает кеширование CSS как обаяние. https://wordpress.org/plugins/stylecss-load-last-version/

Приветствия

...