Перейти к содержимому

"server Side Includes"


Samir

Recommended Posts

Это сделает ваши страницы живыми. Это поможет легко обновлять ваши сайты. CGI-скрипты смогут вставлять HTML-код на страницы сайта. Все это может стать реальностью с применением "Server Side Includes, так же известных как SSI.

"Includes" (англ. "включать") означает, что SSI добавляет что-то на ваши страницы.

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

Где Вы бы не использовали один и тот же код на страницах сайта (такой как панели навигации, формы подписки и т.д.), используйте SSI и Вам придется поменять только один файл, чтобы внести изменения на все страницы, где используется SSI.

Но если это так просто, то почему не каждый использует SSI? Ответов два: 1) эта процедура занимает несколько наносекунд у Вашего сервера на сканирование и добавление; 2) не каждый знает о том как использовать SSI.

Большинство хостинговых компаний позволяет использовать SSI. Обычным требованием в таком случае является расширение .shtml для таких страниц. Это вызвано тем, что использование SSI занимает часть ресурсов сервера и определенный период времени. Таким образом Вы будете использовать .shtml расширение для SSI-страниц и расширения .html and .htm для всех остальных.

Если Вы не знаете поддерживает ли сервер SSI, проделайте простой тест.

Создайте 2 файла. Назовите первый mytest.shtml а второй - myssi.txt

Текст файла mytest.shtml:

<html><body>It goes here.

<!--#include file="myssi.txt"-->

</body></html>

Текст файла myssi.txt:

<font size="+2">

<b>Here I am!</b>

</font>

Загрузите эти два файла на сервер и посмотрите файл mytest.shtml в браузере. Если Вы видите фразу "It goes here. Here I am!", то это значит, что сервер поддерживает SSI.

Заметьте, что теги SSI находятся внутри тегов комментария. Некоторые серверы будут работать нормально если есть пробел после <!-- и пробел перед --> . Но некоторые серверы будут давать ошибку. Пример:

<!-- #include _________ -->

возможно будет работать на некоторых серверах, но не на всех. Чтобы быть уверенным в работоспособности SSI пишите так:

<!--#include _________-->

А теперь мы покажем примеры того, как правильно использовать SSI:

(1) Тег: <!--#include file="__________"-->

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

Файл который Вы включаете может иметь HTML код для графики и звука, но вы не можете вставлять их напрямую. Файл должен находится в той же директории что и .shtml страница.

(2) Тег: <!--#include virtual="__________"-->

Тоже самое что и file="__________" за исключением того что файл может находится в другой директории. Примеры:

"../filename.txt"

"nextdir/filename.txt"

(3) Тег: <!--#exec cgi="__________"-->

Замените подчеркивание на имя CGI-скрипта. Имя файла может быть любым, но не допускается наличие адреса http://... . CGI-скрипт должен возвращать текст, но этот тектс может быть JavaScript или HTML-код для графики и звука или другого кода, который обрабатывается браузером.

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

Так же вы можете добавлять результаты работы CGI-скриптов, включая счетчики, баннеры, новости и погоду с других сайтов и многое другое, что умеют делать CGI-скрипты.

Вот еще один пример:

<html>

<body bgcolor="FFFFFF">

<!--#include file="topnavbar.html"-->

<table><tr><td>

<!--#include file="topsidebar.html"-->

</td><td>

The weather in Italy is:

<!--#exec cgi="italyweather.cgi"-->

<p>Current stock prices are

<table border="1" cellpadding="9"><tr><td>

<!--#exec cgi="stockprices.cgi"-->

</td></tr></table>

<p>Your IP address is:

<!--#exec cgi="your_ip_address.cgi"-->

<p>Subscribe to our awesome newsletter!

<!--#include file="subform.html"-->

Click here for a random link:

<!--#exec cgi="randomurl.cgi"-->

<p>You are the <!--#exec cgi="counter.cgi"--> visitor!

</td></tr></table>

<!--#include file="bottomstuff.html"-->

</body>

</html>

Вся эта конструкция займет несколько секунд на загрузку, но это всего лишь демонстрация свободы творчеcтва при использовании SSI.

Ссылка на комментарий
Поделиться на других сайтах

Слушай,если ты еще подскажешь ,как Апач под эти ССИ настороить,Век благодарен буду.Давно поэксперементировать собирался ,да руки не доходят bawling.gif

Ссылка на комментарий
Поделиться на других сайтах

Это всё общеизвестно... Нужен более предметный разговор!

Жизнь заслуживает оправдания лишь как явление эстетическое

Ссылка на комментарий
Поделиться на других сайтах

SSI используется на bakililar.az

Страниц тут десятки тысяч, и вручную например добавить новый раздел в левое меню было бы равноценно чистке Авгиевых конюшен. Спасибо SSI - поменяв всего ОДИН файл мы меням весь сайт - ну разве это не круто? B)

Ссылка на комментарий
Поделиться на других сайтах

Да удобная функция я использую ее для менюшки, странички с рекламкой и для списков  законов по датам.

А что ,простенько ,лаконично и со вкусом.Правда он меня один раз на webservice.ru кинул.

И обновлять удобно

Может кто подскажет как таки Апач сконфигурировать.И где халявный хостинг с этим самым ССИ

Ссылка на комментарий
Поделиться на других сайтах

Слушай,если ты еще подскажешь ,как Апач  под эти ССИ настороить,Век благодарен буду.Давно поэксперементировать собирался ,да руки не доходят :luv:

AddType text/html .shtml .sht .shtm ( расширения SSI файлов могут быть в принципе любыми)

AddHandler server-parsed .shtml (здесь расширения страниц, которые будут анализироваться.)

Ссылка на комментарий
Поделиться на других сайтах

А как .che скомпилирован, с DSO и модулями ? Проверь установлен ли у тебя mod_ssi (и mod_include) (в каталоге modules) и загрузи его в httpd.conf

Ссылка на комментарий
Поделиться на других сайтах

httpd.conf - конфигурационный файл Апача... это простой текстовый файл и его можно лишь редактировать, но нельзя ничего грузить.... выражай чётче свою мысль...

Жизнь заслуживает оправдания лишь как явление эстетическое

Ссылка на комментарий
Поделиться на других сайтах

  • 2 weeks later...

2 oslik_ia, при установке SSI дефолтом включен, можешь не мучатьсR, просто к строке:

AddHandler server-parsed .shtml

добавь .htm и .html, а то только вышеуказанные файлы будут обрабатыватьсR , а при добавлении , все гипертекстовые документы.

...увы...

Ссылка на комментарий
Поделиться на других сайтах

2 UGD ... .asp '? tebe sovet moy, et figna!! php bistree rabotaet chem asp, naprimer na asp site dolgo gruzitsa..on obrashaetsa k sys files OS'a, a eto zamedlaet zagruzku stranici. a vot PHP eto cto to !

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Загрузка...
×
×
  • Создать...