Настройка HSDN Mirroring Cacher
Офф. сайт: hsdn.org
Версия статьи - 1.0.0
Версия HSDN Mirroring Cacher - 2.1.3 RC1
Описание:
dev.hsdn.org писал(а): Данный класс позволяет создать зеркало любого удаленного ресурса на локальном сервере. Созданное зеркало по сути является прокси сервером, который будет непосредственно взаимодействовать с удаленным хостом. Благодаря системе встроенного кэширования страниц и картинок, нет нужды многократно загружать одну и ту же страницу с сервера.
1. Получаем скрипт
Скрипт можно скачать с официального сайта.
Зеркал я думаю создавать не надо. Ибо у HSDN самые стабильные в ФОСе сервера.
2. Настройка
1. Скопируйте и сохраните полученный фаил под именем mcacher.class.php
2. Создайте директорию `cache' и установите на нее права `0777' (подробнее читайте описание команды `chmod')(действие не обязательно для Windows серверов. Ибо скрипт может создать сам дерикторию).
3. Создайте файл с названием `cacher.php' и поместите в него скрипт вызова данного класса(смотри п.3).
4. Настройте необходимые переменные, указав адрес сайта, путь к директории `cache' и т.д.
5. Создайте и разместите в корневом каталоге файл `.htaccess' со следующим содержанием:
- Код: Выделить всё • Развернуть
DirectoryIndex cacher.php
ErrorDocument 404 /cacher.php
Options FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ cacher.php
3. Примеры использования
Для кэширования одного сайта:
- Код: Выделить всё • Развернуть
<?php
include 'mcacher.class.php'; // Подключение класса
$mcp = new Cacher; // Определение класса
$mcp->cache_dir = 'cache'; // Директория хранения файлов кэша
$mcp->cache_time = 24; // Период хранения кэша в часах (0 -- не кэшировать)
// Пути, для которых следует применить индивидуальный период хранения кэша
$mcp->custom_cache = array
(
"^/news" => 0, // Не кэшировать страницу /news
".dhtml$" => 4 // Обновлять кэш для файлов .dhtml раз в 4 часа
);
// Ограничение доступа к различным ресурсам, страницам или файлам
$mcp->forbidden = array
(
"^/badpage.php", // Закрыть доступ к странице /badpage.php
".mp3$" // Закрыть доступ ко всем файлам .mp3
);
$mcp->connect = 'http://www.hsdn.org'; // Адрес подключения
// Автозамена реального имени сайта на имя сайта зеркала в заголовках HTTP
$mcp->head_replace = array
(
'www.hsdn.org' => $_SERVER['SERVER_NAME'] // Для заголовков, пр. Location
);
// Автозамена реального имени сайта на имя сайта зеркала в теле страницы,
// а также в ссылках на страницах
$mcp->body_replace = array
(
'http://www.hsdn.org' => '' // Заменяем ссылки вида:
// href="http://www.hsdn.org/link" на href="/link"
);
$mcp->run_cache(); // Запуск класса
?>