Форум » Система построения сайтов » Разное » htaccess + сброс кеширования
Открыть Ответить

htaccess + сброс кеширования

0.00

0.00

1
06.12.2008 14:39:07

Привет всем!

Кто знает что нужно прописать чтобы например один раз в 24 часа при наборе адреса сайта http://site.ru у пользователя автоматически менялось на http://site.ru/index.php? чтобы сбросить кеш для сайта у браузера пользователя.
Только один раз в 24 часа.

Группа
Клиент
Пункты
135
Регистрация
14.06.2008
Пол
Мужчина
Из
Россия
Предупреждения
Нет
Rado
Rado
3.19

3.19

07.12.2008 03:29:25

Принципиально с htaccess?
Почему бы не реализовать данную функцию при помощи PHP?


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39468
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

07.12.2008 08:31:27

нет ну с помощью php тоже можно, только как :)

Группа
Клиент
Пункты
135
Регистрация
14.06.2008
Пол
Мужчина
Из
Россия
Предупреждения
Нет
Rado
Rado
3.19

3.19

07.12.2008 14:02:04 07.12.2008 14:03:29

Для версии 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 можно использовать любой другой метод или функцию.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39468
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

07.12.2008 17:06:06

спасибо, вроде работает но как-то неправильно:
Перенаправление происходит после того как посетитель загрузил страницу сайта целиком например http://site.ru? как только сайт загрузился происходит еще раз загрузка http://site.ru/index.php?. Получается что загрузка происходит дважды, а нужно чтобы при вводе адреса сайта он заменялся сразу же на http://site.ru/index.php?

Группа
Клиент
Пункты
135
Регистрация
14.06.2008
Пол
Мужчина
Из
Россия
Предупреждения
Нет
Rado
Rado
3.19

3.19

07.12.2008 17:49:58 07.12.2008 17:53:23

Без загрузки скрипта он не может быть выполнен. Поэтому его загрузка, потом выполнение.

Замените:

# Перенаправление методом HTML 
echo '<meta http-equiv="refresh" content="0; url='.$metlink.'">'; 


На:
header("Location: ".$metlink);


Да, кстати, что за странный кэш у Вас?
Вы отключили запрет кэширования стандартным методом по средствам файла: function/no-cache.php ?


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39468
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

08.12.2008 14:11:46 08.12.2008 14:24:34

SLAED CMS Эм...мне кажется что таким способом Вы скинете за 24 часа кэш браузера ТОЛЬКО у ОДНОГО пользователя, у следующих же которые будут к Вам заходить на сайт Вы ничего не скинете....потому что после захода того одного $sess_t будет больше $past ...


Rado, тут надо пробывать как то иначе, либо в куки писать время последнего посещения, а затем в зависимости от значения делать проверку...либо как-то иначе..

Без загрузки скрипта он не может быть выполнен. Поэтому его загрузка, потом выполнение.



Мде...а если вставить это в файл www.site.ru/index.php после define('MODULE_FILE', true); то пользователя сразу перенаправит куда Вы пожелаете без двойной загрузки страницы:

<br /> # Адрес перенаправления <br /> $metlink = "http://site.ru/index.php&#063;"; <br /> <br /> # Время, указанное в секундах, в нашем случае 24 часа <br /> $mtime = "86400"; <br /> <br /> # Права на файл CHMOD 666 <br /> $sess_f = "config/counter/csess.txt"; <br /> <br /> $sess_t = (file_exists($sess_f) && filesize($sess_f) != 0) &#063; file_get_contents($sess_f) : 0; <br /> $past = time() - intval($mtime); <br /> if ($sess_t < $past || !$sess_t) { <br /> <br /> # Перенаправление <br /> Header( "HTTP/1.1 301 Moved Permanently");<br /> Header("Content-Type: text/html; charset=windows-1251");<br /> Header("Location: $metlink");<br /> <br /> @unlink($sess_f); <br /> $fp = @fopen($sess_f, "wb"); <br /> fwrite($fp, time()); <br /> fclose($fp); <br /> }<br />

Пункты
2
Регистрация
18.06.2007
Предупреждения
Нет
111111
111111
5.00

5.00

08.12.2008 15:11:00

111111, да, действительно, Вы правы, упустил из вида.
В этом случае сохранение времени в Cookie самый оптимальный, на мой взгляд, выход.

Но опять же, Rado, от чего такое длительное сохранение кэша? В принципе такого быть не должно, если не отключён файл function/no-cache.php


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39468
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

09.12.2008 18:30:05

Да нет кеш обычный, просто заметил, что у пользователей браузера Опера, кеш сохраняется средствами самого браузера и при повторном открытии сайта кеш срабатывает и посетитель не всегда видит обновленный сайт.
Если пустить этого пользователя по адресу http://site.ru/index.php? то он у него очищается, вот и хотелось это дело автоматизировать.

Группа
Клиент
Пункты
135
Регистрация
14.06.2008
Пол
Мужчина
Из
Россия
Предупреждения
Нет
Rado
Rado
3.19

3.19

09.12.2008 18:37:08

Обновление кэша должно производится Оперой, это предусмотрено в файле: function/no-cache.php

Как минимум один раз в сутки, за это отвечает строка: @Header("Last-Modified: ".gmdate("D, d M Y H:i:s", strtotime("-1 day"))." GMT");

Если этого не происходит, значит, проблема у браузера или на сервере.
С датой сервера всё в порядке?


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39468
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

Всего: 12 на 2 страницах по 10 на каждой странице

1 2
Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код