nginx SSI: Wie kann ich HTML echoen?

nginx SSI: Wie kann ich HTML echoen?

Als Plausibilitätstest versuche ich, am Anfang meiner HTML-Seite ein sehr einfaches SSI zu implementieren, echoum dem Browser anzuzeigen, dass SSI funktioniert:

Datei:

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

dann später in JS:

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

Aber wenn nginx echoden String ausführt, werden die HTML-Tags wie folgt bereinigt:

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

Ich kann in den Nginx-Dokumenten nichts finden, das auf die Verwendung von echoreinem HTML hinweist.

Ja, ich weiß, dass ich eine HTML-Datei importieren könnte, aber ich habe versucht, das zu vermeiden, da das die Komplexität erhöht. Es scheint, als könnte das gemacht werden, aber mir fehlt einfach der richtige Parameter dafür echo.

Danke

Antwort1

nginxhat einen encodingParameter zum echoBefehl (vgl.Unterstützte Befehle), das entscheidet, wie der Text maskiert wird. Es kann drei Werte habenkeiner(was Sie suchen),URL (URL)und die Standardeinstellungjuristische Person. Vergleichen Sie die Ergebnisse von:

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

verwandte Informationen