Назад | Перейти на главную страницу

NGINX SSI Не работает

Мне не удается заставить SSI работать на NGINX. Вы можете увидеть проблему, если нажмете http://www.bakerycamp.com/test.shtml. Вот содержимое этого файла:

<!--# echo hi -->

Если вы нажмете это в браузере, вы увидите директиву SSI в содержимом - так что, очевидно, NGINX не интерпретирует директиву SSI.

Мой файл конфигурации NGINX выглядит так:

server {
    listen  80;
    server_name     bakerycamp.com www.bakerycamp.com;
    access_log      /var/log/nginx/bakerycamp.access.log;
    index           index.html;
    root            /home/bakerycamp.com;
    location /      { ssi   on; }

    # Deny access to all hidden files and folders
    location ~ /\.  { access_log off; log_not_found off; deny all; }
}

Я не собирал NGINX из исходников, а установил его с помощью apt-get. Я предполагаю, что у него есть модуль SSI (поскольку он по умолчанию), но, возможно, нет? Должен ли я просто грызть пулю и восстанавливать из исходников? Есть ли способ узнать, поддерживает ли установленный NGINX SSI, и моя конфигурация просто неверна?

В nginx директива SSI echo используется для вывода содержимого переменных, а не произвольного текста.

Чтобы проверить SSI, попробуйте что-нибудь вроде:

<!--# set var="test" value="Hello nginx!" -->
<!--# echo var="test" -->

Видеть документация для получения дополнительной информации.