Como prueba de cordura, al principio de mi página HTML, estoy intentando hacer un SSI muy simple echo
para indicarle al navegador que SSI está funcionando:
índice.html:
<script>var ssi_enabled = false</script>
<!--# set var="test" value="<script>ssi_enabled=true</script>" -->
<!--# echo var="test" -->
luego más tarde en JS:
if (!ssi_enabled) { console.log("SSI is not enabled!"); }
Pero cuando nginx echo
es la cadena, las etiquetas HTML se desinfectan de la siguiente manera:
<script>ssi_enabled=true</script>
No puedo encontrar nada en los documentos de nginx que indique cómo editar echo
HTML sin formato.
Sí, sé que podría importar un archivo html, pero estaba tratando de evitarlo porque eso agrega más complejidad. Parece que esto se podría hacer, pero me falta el parámetro correcto para echo
.
Gracias
Respuesta1
nginxtiene un encoding
parámetro para el echo
comando (cf.comandos admitidos), que decide cómo escapar del texto. Puede tener tres valoresninguno(que es lo que estás buscando),URLy el valor predeterminadoentidad. Compara los resultados de:
<!--#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" -->