Привет всем!
Кто знает что нужно прописать чтобы например один раз в 24 часа при наборе адреса сайта http://site.ru у пользователя автоматически менялось на http://site.ru/index.php? чтобы сбросить кеш для сайта у браузера пользователя.
Только один раз в 24 часа.
htaccess + сброс кеширования
Принципиально с htaccess?
Почему бы не реализовать данную функцию при помощи PHP?
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Для версии SLAED CMS 4.* Pro
1. Войдите в панель управления системой, отдел: Панель администратора >> Редактор
2. В файл внедрения в шапку системы: config_header.php
Добавляем следующую запись
# Адрес перенаправления
$metlink = "index.php?";
# Время, указанное в секундах, в нашем случае 24 часа
$mtime = "86400";
# Права на файл CHMOD 666
$sess_f = "config/counter/csess.txt";
$sess_t = (file_exists($sess_f) && filesize($sess_f) != 0) ? file_get_contents($sess_f) : 0;
$past = time() - intval($mtime);
if ($sess_t < $past || !$sess_t) {
# Перенаправление методом HTML
echo '<meta http-equiv="refresh" content="0; url='.$metlink.'">';
@unlink($sess_f);
$fp = @fopen($sess_f, "wb");
fwrite($fp, time());
fclose($fp);
}Вместо перенаправления методом HTML можно использовать любой другой метод или функцию.
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
спасибо, вроде работает но как-то неправильно:
Перенаправление происходит после того как посетитель загрузил страницу сайта целиком например http://site.ru? как только сайт загрузился происходит еще раз загрузка http://site.ru/index.php?. Получается что загрузка происходит дважды, а нужно чтобы при вводе адреса сайта он заменялся сразу же на http://site.ru/index.php?
Без загрузки скрипта он не может быть выполнен. Поэтому его загрузка, потом выполнение.
Замените:
# Перенаправление методом HTML echo '<meta http-equiv="refresh" content="0; url='.$metlink.'">';
На:
header("Location: ".$metlink);Да, кстати, что за странный кэш у Вас?
Вы отключили запрет кэширования стандартным методом по средствам файла: function/no-cache.php ?
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS Эм...мне кажется что таким способом Вы скинете за 24 часа кэш браузера ТОЛЬКО у ОДНОГО пользователя, у следующих же которые будут к Вам заходить на сайт Вы ничего не скинете....потому что после захода того одного $sess_t будет больше $past ...
Rado, тут надо пробывать как то иначе, либо в куки писать время последнего посещения, а затем в зависимости от значения делать проверку...либо как-то иначе..
Без загрузки скрипта он не может быть выполнен. Поэтому его загрузка, потом выполнение.
Мде...а если вставить это в файл www.site.ru/index.php после define('MODULE_FILE', true); то пользователя сразу перенаправит куда Вы пожелаете без двойной загрузки страницы:
111111, да, действительно, Вы правы, упустил из вида.
В этом случае сохранение времени в Cookie самый оптимальный, на мой взгляд, выход.
Но опять же, Rado, от чего такое длительное сохранение кэша? В принципе такого быть не должно, если не отключён файл function/no-cache.php
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Да нет кеш обычный, просто заметил, что у пользователей браузера Опера, кеш сохраняется средствами самого браузера и при повторном открытии сайта кеш срабатывает и посетитель не всегда видит обновленный сайт.
Если пустить этого пользователя по адресу http://site.ru/index.php? то он у него очищается, вот и хотелось это дело автоматизировать.
Обновление кэша должно производится Оперой, это предусмотрено в файле: function/no-cache.php
Как минимум один раз в сутки, за это отвечает строка: @Header("Last-Modified: ".gmdate("D, d M Y H:i:s", strtotime("-1 day"))." GMT");
Если этого не происходит, значит, проблема у браузера или на сервере.
С датой сервера всё в порядке?
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...






