Проблема: сайт борется за звание динамического. Поэтому «нормальной» html-версии сайта не существует. Пути решения: скачать сайт какой-нибудь качалкой, типа offline explorer или teleport pro. Не канает: в результате получаем кучу непонятно чего со странной структурой директорий.
А мы пойдем другим путем: сайт динамический, но кто мешает нам нагенерировать страниц и сохранить их в статическом виде? А никто. В PHP есть функция ob_start (и иже с ней). Эта функция влючает буферизацию вывода, или, говоря простым языком, все, что должно выводиться на экран (в браузер) во время исполнения php-скрипта, включая html, не будет никуда выводиться, а будет идти в буфер. А буфер потом можно просто считать и записать на диск, в результате чего все, что должно было пойти в браузер, пойдет в файл на диске.
Пример:
<?
ob_start ();
// включаем буферизацию
……
// тут исполняем всякую фигню (собственно, сам php-скрипт с html’ем).
?>
Тут, например, может идти какой угодно html-код.
<?
$buffer=ob_get_contents;
// считываем буфер
ob_end_clean ();
// выключаем
?>
В результате имеем в переменной buffer все, что должно было выводиться в браузер. Записать это на диск — плевое дело.
Возможности буферизации может представить себе любой человек с богатым воображением: кэширование динамически генерящихся страниц, например. Или сжатие страницы перед выводом.
Этап второй.
«Куда деть эту кучу файлов?»
Просто так дать скачивать это все в виде кучи html-файлов — это как-то не модно, верно? А руки у меня давно чесались попробовать одну вещь… Есть такой формат — .chm. Это относительно новый (относительно .hlp) формат хелпа для Windows. Желающие могут поискать у себя на диске файлы *.chm и убедиться. Главная фича этого формата в том, что .chm файл компилируется из кучи простых html-файлов (с картинками и всеми прилагающимися файлами).
Для этих целей используется программа HTML Help Workshop, которая совершенно спокойно лежит на сайте microsoft.com — нужно только знать, где искать. Я знал, но на поиски все равно угробил минут пять.
Управление простое, кому надо — разберетесь. Полезная вещь: при компиляции можно автоматически проиндексировать все файлы (compile full-text search information) и сделать возможность поиска (жутко глючная вещь, но иногда работает как надо).
Выводы.
Ссылки все-таки надо как-то разграничивать на внутренние (в пределах сайта) и внешние.