SSI могут использоваться для включения результатов программ, содержимого переменных среды исполнения в качестве частей HTMLфайла. Синтаксис, предназначенный для указания SSI в файлах конфигурации Apache, может показаться сложным. Например, чтобы разрешить включения только со стороны сервера в /var/www/ssi, но не другие параметры, создайте следующую директорию:
# mkdir /var/www/ssiи прикажите Apache разрешить внутри ее только SSI:
«Location /ssi>
Options Includes
Для добавления SSI к существующим параметрам используйте такую команду:
«Location /ssi>
Options +Includes «/Location>
SSI позволяет включать содержимое файлов, но она также может запускать любую программу и включать ее вывод. Это может быть небезопасно, поэтому, чтобы ограничить включение SSI только содержимым файлов, используйте такой код:
«Location /ssi>
Options InciudesNoExec «/Locations
Если вы хотели бы иметь файлы SSI в разных местах, а не закреплять их в этой директории, можете приказать Apache связать определенное расширение файла с SSI:
AddHandler serverparsed .shtml
Для работы SSI нужно загрузить запускающий их модуль Apache i ncl ude. Если он не был загружен при настройке Apache или РНР по умолчанию, мы сделаем это сейчас:
Module include installed: run /etc/init.d/apache2 forcereload to enable.
# /etc/init.d/apache2 forcereloadКоманды SSI выглядят как комментарии HTML. Они имеют такую форму: <\#команва аргумент'значение">
Рассмотрим возможные значения команды: О i ncl ude — включение файла; О echo — отображение переменных среды; О exec — включение вывода команды; О config — формат некоторых переменных echo.
Сначала протестируем включение файла. Создайте два файла:
Теперь создайте файл middle.shtml со следующим содержимым:
middle stuff!
Обратите внимание, что файл, производящий включение (mi ddl е. shtml), требует расширения SHTML, а включаемый файл (top. html и bottom. html) не требует. Теперь направьте свой трудолюбивый браузер по адресу http://serverl.centralsoft.org/ middle.shtml, в результате чего вы должны увидеть:
top stuff middle stuff! bottom stuff
Если параметр Incl udes установлен для хранилища, SSI также могут выполнять команды, но пользователь (обычно в браузере) не может назначить им никаких директив. Выполнение команд SSI используется для совсем простых вещей, как, например, листинг директорий:
Заключительное использование SSI служит для отображения переменных окружения CGI и некоторых других удобных переменных. Быстрый путь распечатки всех переменных таков:
А для отдельно взятой переменной — такая строка:
Отобразится чтото вроде:
Tuesday, 01Aug2006 02:42:24 GMT
Если у вас только статические файлы либо смесь статических файлов и сценариев CGI, наиболее разумно отменить выполнение команды SSI:
Options IncludesNoExec