Пример практического использования SSI
Здесь я раскрываю свое "ноу-хау", как с помощью SSI сделан данный сайт.
Структура сайта
Тексты всех статей хранятся в каталоге txt. Файлы, содержащие статьи, на всякий случай имеют расширение
*.shtml - вдруг понадобится в какой-нибудь вставить директиву, так чтобы потом не страдать.
"Публичные" файлы статей находятся в каталогах content и lesson. Для удобства, они имеют те же самые имена, что и
"приватные", чтобы я не запутался. Дабы любопытные поисковые системы не индексировали то, что не нужно, в корневом каталоге находится файл
robots.txt. Вы можете прочитать его содержимое. В нем запрещается индексировать каталог txt и файлы, отвечающие за внешний вид страницы в
Експлорере (interface.shtml) и Навигаторе (interfacenn.shtml).
Статьи
В файлах со статьями не содержится тегов html, head, body, title, style. Сразу идет
текст статьи. В нем не используются, как правило, теги, изменяющие цвет текста.
"Публичные" файлы
Как уже было сказано, эти файлы находятся в каталогах lesson и content.
Они имеют следующее содержание
<html><head>
<!--#set var="key" value="ключевые слова" -->
<!--#set var="desc" value="описание данной статьи" -->
<!--#set var="titl" value="Заголовок окна броузера " -->
<!--#set var="fil" value="filename" -->
<!--#include virtual="../interface.shtml" -->
filename - имя файла, содержащего cтатью (в каталоге txt), причем только имя, без расширения (так как расширение у всех одинаковое - *.shtml, нет смысла его постоянно указывать).
Файл интерфейса
Этот файл (interface.shtml) находится в корневом каталоге. Полностью я приводить его не буду, но приведу пример подобного файла.
<html><head>
<base href="http://mysite.hut.ru/">
<meta name="keywords"
content="<!--#echo var="key" -->">
<meta name="description"
content="<!--#echo var="desc" -->">
<title><!--#echo var="titl" -->
-- Школа начинающего Юзера --</title>
</head><body>
<table>
<tr>
<td> левое меню </td>
<td>
<!--#include virtual="txt/$fil.shtml" --> </td>
</tr>
</table>
</body></html>
Тег base href указывает на корневой каталог сайта. Это значит, что относительные (сокращенные) ссылки
во всех страницах выглядят так, как если бы эти страницы лежали в главном каталоге.
После вставки в title заголовка статьи, добавляется название сайта. Теперь,
зайдя на любую страницу сайта, помимо заголовка данной конкретной статьи, будет видно еще, и
на какой сайт зашел посетитель.
Это я описал структуру данного сайта - Школа начинающего Юзера. Перемещаясь по сайту, вы каждый раз проверяетe, насколько работоспособен данный вариант.
Второй вариант организации сайта
Этот вариант несколько проще, но мне он почему-то не нравится (не ищите легких путей!). Впрочем, это не мешает мне привести вам работающий пример практического использования.Структура
Я не собираюсь ради примера писать новые статьи, а буду использовать уже имеющиеся в каталоге txt>. Отличие данного метода от предыдущего в том, что не нужно создавать для одной стороны статьи два файла - публичный и приватный. С одной стороны, это проще и удобнее, с другой - не очень.Статьи
Итак, статьи находятся в каталоге txt и по-прежнему не содержат тегов html, head, body, title, style и тегов, изменяющих цвет текста. У меня все статьи имеют одинаковое расширение, поэтому и пример я буду приводить соответствующий.Файл интерфейса
Он мало чем отличается от предыдущего примера.
<html><head>
<title> -- Школа начинающего Юзера --</title>
</head><body>
<table>
<tr>
<td> левое меню </td>
<td> <!--#include virtual="txt/$QUERY_STRING.shtml" --> </td>
</tr>
</table>
</body></html>
Логично в таком случае назвать данный файл index.shtml
Теперь вызов любой статьи выглядит как Вот вам для примера несколько ссылок.
site
topor
pupkin
Таким образом доступна почти вся информация, находящаяся на данном сайте. В принципе, если вам не нравится внешний вид моего сайта, вы можете читать заметки в таком вот упрощенном варианте. Для этого любую ссылку вида http://mysite.hut.ru/content/filename.shtml переделайте в http://mysite.hut.ru/example/ex.shtml?filename
"); // -->
Внимание! Это оригинал сайта. Копия находится по адресу http://user.dax.ru/ Если данный сайт окажется недоступным или скорость загрузки вас не устроит, вы всегда можете прочитать интересующие вас статьи здесь