nginx SSI: как отобразить html?

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.

Спасибо

решение1

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" -->

Связанный контент