Als Plausibilitätstest versuche ich, am Anfang meiner HTML-Seite ein sehr einfaches SSI zu implementieren, echo
um 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 echo
den String ausführt, werden die HTML-Tags wie folgt bereinigt:
<script>ssi_enabled=true</script>
Ich kann in den Nginx-Dokumenten nichts finden, das auf die Verwendung von echo
reinem 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 encoding
Parameter zum echo
Befehl (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" -->