Как включить SSI в Apache?

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

4 ответа

Это должно быть включено (или эквивалент для вашей ОС):

LoadModule include_module libexec/apache22/mod_include.so

И они добавлены для стандартного метода:

AddType text/html .shtml
AddHandler server-parsed .shtml

#This one goes in the <Directory> directive you want them enabled for (ie "/")
Options +Includes 

ИЛИ битовый хак:

XBitHack on

Этот последний позволяет вам сохранить нормальное имя HTML, но chmod o+x file.html и включить SSI только для этого файла (ов).

Все остальные указали на старую версию документации: Apache mod_include Docs

Когда

      SSILastModified on 
XBitHack full

Параметр «SSILastModified On» является скрытой неправильной настройкой, поскольку независимо от того, включен «SSILastModified» или нет, он не меняет поведение программы.

Возвращаясь к исходному коду Apache, мы видим, что основная причина этой неправильной конфигурации заключается в том, что семантика, включенная «Xbithack Full», неявно перезаписывает семантику, включенную «SSILastModified On».

      if (conf->lastmodified > 0) {
  ... {
   ap_update_mtime(r, r->finfo.mtime);
   ap_set_last_modified(r);}}

else if (((conf->xbithack == XBITHACK_FULL ||
         (conf->xbithack == XBITHACK_UNSET &&
                DEFAULT_XBITHACK == XBITHACK_FULL))
        ...)) {
        ap_update_mtime(r, r->finfo.mtime);
        ap_set_last_modified(r);
}

Аналогично, наличие «Xbithack full» также перезапишет «Xbithack on». Здесь одним из возможных решений является проверка наличия «SSILastModified on» или «Xbithack on» в вашем файле конфигурации. Если да, измените его на «Xbithack Full».

http://httpd.apache.org/docs/1.3/misc/FAQ.html

Для получения дополнительной информации см. http://www.apacheweek.com/features/ssi

Имейте в виду, что если ваш хост решил подключиться к SSI, это никак не обойти.

  • Создайте свой сервер с модулем mod_include. Обычно это компилируется по умолчанию.
  • Убедитесь, что в файлах конфигурации вашего сервера есть директива Options, которая разрешает Включает.
  • Убедитесь, что каталог, в котором вы хотите разместить документы SSI, покрыт обработчиком содержимого, анализируемым сервером, либо явно, либо в каком-то исконном месте. Это можно сделать с помощью следующей директивы AddHandler:

AddHandler-серверный.shtml

Это указывает на то, что все файлы, заканчивающиеся на ".shtml" в этом месте (или его потомках), должны быть проанализированы. Обратите внимание, что использование ".html" приведет к анализу всех обычных HTML-файлов, что может привести к чрезмерной нагрузке на ваш сервер.

Взято из: http://httpd.apache.org/docs/1.3/misc/FAQ.html

Другие вопросы по тегам