Вы не авторизированы! Логин:  Пароль:  Запомнить:    Зарегистрироваться
Забыл пароль
 
 
 

SSI для бедных

SVD programming - Программирование Delphi, HTML, PHP, CGI. Обзоры софта, ReactOS и многое другое...
 
Главная - Новости - Публикации - Файлы - Ссылки - Форум Обратная связь
 


Друзья сайта ::

Сайтом управляют ::

Друзья сайта ::
Другое » SSI для бедных
Автор: Admin / Дата: 04:41 05.02.2006
Комментарии: Комментарии (0)
Рейтинг статьи: 0
SSI – это простая и удобная технология организации динамических страничек. SSI экономит место на сервере, и одновременно делает администрирование сайта удобней в десятки раз! Все бы было хорошо, если бы... для использования этой технологии нужны специальные разрешения сервера. На бесплатном хостинге, у Вас поддержки этой технологии может не быть.

Возникает вопрос замены этой технологии. Конечно же! А кто будет переписывать 20 страничек своего сайта, если вдруг ему захочется добавить еще один пункт меню?!

Самыми популярными способами являются замена фреймами и с помощью JavaScript. Но, наверное, у этих способов больше недостатков, чем достоинств.

Я же предлагаю свой способ замены. Замена SSI на SSI! Конечно, с некоторым отличием.

Суть этого способа в том, что странички сайта будут собираться не на сервере, а непосредственно на компьютере создателя сайта, перед закачкой на сервер. И закачиваться на сервер будут уже собранные html странички. Но, обо всем по порядку. Для начала я хотел бы описать каждый из представленных методов замены SSI.

Фреймы
Это самый простой способ замены. В одном фрейме мы пишем меню, а во втором – отображаем информацию. Это было бы очень удобно, если бы не было таких недостатков:

1. Поисковые роботы очень плохо индексируют сайты с фреймами.

2. Фреймовые меню накладывают свой отпечаток на дизайн сайта.

3. Возможно открытие странички без фреймового меню, а это означает, что посетитель практически не сможет получить доступ к остальной информации сайта.

Именно по этому сайты, содержащие навигационные фреймы сейчас практически не создаются. Ведь недостатков у них намного больше чем достоинств.

Фреймовые структуры годятся больше для создания справочников, учебников, и другой offline литературы.

JavaScript
Этот язык клиентских сценариев дает нам намного больше возможностей, в сравнении с фреймами. Например, мы можем отмечать название текущей странички в навигационном меню, вставлять целые блоки информации с помощью одной директивы и много, много другого. JavaScript не требует разделения странички на блоки, как это делаю фреймы. JavaScript удобен, если бы...

Дело в том, что:

1.Поддержка JavaScript у некоторых людей может быть полностью отключен.

2.Текст, выводимый JavaScript, не индексируется поисковиками.

3.Модули JavaScript могут быть кэшированы браузером. Так что даже после внесения изменений на сайте, некоторые пользователи будут видеть старую информацию, которая была кэширована их браузером.


Комбинация
Это, наверное, только в математике, при умножении, два минуса дают плюс. В веб дизайне это не так – два минуса дают один огромный минус. Конечно, можно попробовать комбинировать фреймы и JavaScript, и возможно, вы добьетесь хороших результатов. Но, поверьте, эти результат не стоит затраченных на него усилий.

А вдруг, со временем, Вам захочется перенести Вашу страничку на платный хостинг. Что тогда? Вам приодеться переписывать сайт заново?

Мой способ универсален. Его можно использовать как на бесплатном так и на платном хостинге. При этом, используя платный хостинг, Вам не нужно будет делать никаких премудростей. Достаточно чуть-чуть подкорректировать сайт, залить на сервер – и ресурс работает.

Действительно, что может быть проще замены SSI на SSI? Конечно, если вы хорошо знаете эту технологию. Я так же предполагаю, что вы знакомы с языком Perl, с помощью которого будет собираться сайт.

Итак, что нам нужно:

1. Во-первых это сайт, написаний с использованием технологии SSI.

2. Домашний веб сервер Apache + Perl

Определимся со структурой
Для удобства я буду использовать свои пути, которые Вы можете, при необходимости, изменить.

И так, моя домашняя страничка находиться в папке e:/projects/page/

Исходник с использованием SSI находиться в папке e:/projects/page/www/. Эта папка связана с моим виртуальным хостом dvl999.vinnitsa.com, и при обращении к ниму происходит чтение и обработка сервером содержимого папки.

Скрипт для публикации находиться в e:/projects/page/publisher/publisher.pl

Папка странички, готовой к публикации - e:/projects/page/pub/

Подготовка сайта
Копируем все содержимое папки www в папку pub. Единственные файлы, которые будут изменены – это html файлы. А поэтому ищем и удаляем в папке pub html файлы, а также ssi-вставки, которые нам так же не нужны. Для автоматизации процесса можно использовать любой файл-менеджер, с поддержкой вывода результатов на «панель». Например, FAR.

О скрипте
Скрипт publisher.pl имеет следующий код:

Код:
use LWP::Simple;
$site='http://dvl999.vinnitsa.com';
$pubdir='../pub';
open(FV,"pub.txt");
@data=<FV>;
close FV;

  foreach $s(@data){
$s=~ s/n//g;
$s=~ s/r//g;
$content = get($site.$s);
print "$pubdir$sn";
die "Couldn't get it!" unless defined $content;
open (FV,">$pubdir$s");
print FV "$content";
close FV;
}


Для запуска, используйте интерпретатор Perl – perl.exe

Пример базы данных:

/about/index.htm
/about/anketa.htm
/about/photo.htm
/creative/index.htm
/creative/graph.htm
/creative/portfolio.htm
/creative/stat.htm
/creative/st/01/index.htm
/creative/st/02/index.htm
/creative/st/03/index.htm
/creative/st/04/index.htm
/creative/st/05/index.htm
/friend/index.htm
/guest/index.htm
/misli/index.htm
/index.htm

Принцип действия скрипта прост. Моя страничка имеет виртуальный хост http://dvl999.vinnitsa.com. Например, используя первую строчку базы данных(/about/index.htm), происходить чтение странички http://dvl999.vinnitsa.com/about/index.htm. Это делается по средствам модуля LWP.

Прочитанная и обработанная страничка записывается по адресу pub/about/index.htm. Таким образом, будут обработаны все странички, находящиеся в базе данных.

И остается только закачать содержимое папки pub на Ваш сервер.

Вот такой способ. Из достоинств: универсальность, хорошая индексация поисковыми роботами, независимость от настроек браузера клиента, связанных с отключением JavaScript и фреймов. Из недостатков лишь то, что, возможно, Вам придется закачивать все html файлы вашего сайта после обновления ресурса. Но, это в худшем случае.

Источник: http://www.rusdoc.ru
Источник: dvl999.vinnitsa.com
Автор : Admin
Комментарии: Комментарии (0)

Внимание!

Друзья сайта
Голосование ::
Случайные статьи ::
Добавления в форуме ::
Новые комментарии ::
Пользователи on-line ::
0 пользователь, 36 гостей
 
Страница создана за 0.009 секунд

SQL общее время: 0.004 секунд
SQL запросов всего: 15
Администрация сайта не несет ответственности за содержание рекламных материалов, а так же за информацию размещаемой посетителями. При использовании материалов сайта ссылка на svdpro.info обязательна.

Powered by LDU 802

Рейтинг@Mail.ru
Copyright © 2005 - 2011 «SVD Programming»
Версия сайта для коммуникаторов
Обратная связь - Карта сайта