2010-11-02 15 views
6

Tengo un archivo simple .shtml que he declarado como variable.SSI #set variable y #echo issue

<!--#set var="testVar" value="12345" --> 

Pero cuando quiero imprimir el valor con

<!--#echo var="testVar" --> 

dice

variable 'testvar' no se puede encontrar

Cuál es el problema? Estoy usando IIS 7.5 y también probé en Apache2, ¡pero tampoco funciona!

Respuesta

0

creo que es necesario hacer referencia a la variable con un '$' en frente de ella, así:

<!--#echo var="$testVar" --> 
1

Esto funciona muy bien para mí:

<!--#set var="testVar" value="12345" --> 
<!--#echo var="testVar" --> 

¿Te ha configurado Apache ¿correctamente? Es posible que deba activar mod_include. El siguiente código debe emitir la fecha, una vez configurado correctamente:

<!--#echo var="DATE_LOCAL" --> 
0

intento,

<!--#echo encoding="entity" var="testVar" --> 

Si no, entonces, el uso $ testvar asegurarse de que su variable tratada como variable.

1

Tuve el mismo problema. En mi caso, estaba estableciendo una variable en el archivo principal y tratando de leerlo en una plantilla incluida.

La solución fue colocar el <!--#set después de la declaración <!DOCTYPE.

1

IIS no es compatible con su código.

<!--#set var="testVar" value="12345" --> 

IIS no es compatible con #set por lo que responde. "Variable 'testVar' no se puede encontrar", porque nunca se ha creado.

Windows server y Apache server tienen el mismo nombre de módulo (SSI) y usan la misma sintaxis. ¡PERO! El servidor Apache admite #set y otros comandos como #if #else, etc., que Windows Server no tiene. Entonces la confusión está completa.

Para obtener una lista de comandos que se pueden utilizar en IIS: MSDN blog about SSI on IIS