Мне не удается заставить 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" -->
Видеть документация для получения дополнительной информации.