Чтение RSS каналов

Форум

Открыть Ответить

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

0

0
1
06.12.2008 14:39:07
Привет всем!

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

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
07.12.2008 08:31:27
нет ну с помощью php тоже можно, только как :)
3.18

3.18
4
07.12.2008 14:02:0407.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 можно использовать любой другой метод или функцию.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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

3.18
6
07.12.2008 17:49:5807.12.2008 17:53:23
Без загрузки скрипта он не может быть выполнен. Поэтому его загрузка, потом выполнение.

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


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


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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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


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

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



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


# Адрес перенаправления
$metlink = "http://site.ru/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) {

# Перенаправление
Header( "HTTP/1.1 301 Moved Permanently");
Header("Content-Type: text/html; charset=windows-1251");
Header("Location: $metlink");

@unlink($sess_f);
$fp = @fopen($sess_f, "wb");
fwrite($fp, time());
fclose($fp);
}
5

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

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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

3.18
10
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");

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь