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

nginx SSI: как выводить эхо html?

В качестве проверки работоспособности во главе своей HTML-страницы я пытаюсь сделать очень простой SSI echo чтобы указать браузеру, что SSI работает:

index.html:

<script>var ssi_enabled = false</script>
<!--# set var="test" value="<script>ssi_enabled=true</script>" -->
<!--# echo var="test" -->

затем позже в JS:

if (!ssi_enabled) { console.log("SSI is not enabled!"); }

Но когда nginx echoКак строка, теги HTML обрабатываются следующим образом:

&lt;script&gt;ssi_enabled=true&lt;/script&gt;

Я не могу найти в документации nginx ничего, что указывает, как echo необработанный HTML.

Да, я знаю, что могу импортировать html-файл, но пытался избежать этого, так как это добавляет сложности. Похоже, это можно сделать, но мне просто не хватает правильного параметра для echo.

Спасибо

nginx имеет encoding параметр к echo команда (ср. поддерживаемые команды), который решает, как экранировать текст. Может иметь три значения никто (это то, что вы ищете), url и по умолчанию организация. Сравните результаты:

<!--#set var="GREETING" value="<h1><strong>Hello <em>&World</em></strong></h1><p>àäáąåǎâ</p>" -->
<!--#echo var="GREETING" encoding="none" -->
<!--#echo var="GREETING" encoding="url" -->
<!--#echo var="GREETING" encoding="entity" -->