В качестве проверки работоспособности во главе своей 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 обрабатываются следующим образом:
<script>ssi_enabled=true</script>
Я не могу найти в документации 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" -->