SSI#
El módulo es un filtro que procesa comandos SSI (Server Side Includes) en las respuestas que lo atraviesan. Habilita o deshabilita el procesamiento de comandos SSI en las respuestas. Predeterminado http, server, location Permite conservar el campo de cabecera Por defecto, este campo se elimina ya que los contenidos de la respuesta se modifican durante el procesamiento y pueden contener elementos generados dinámicamente o partes que cambian independientemente de la respuesta original. Establece el tamaño mínimo para las partes de una respuesta almacenadas en disco, a partir del cual tiene sentido enviarlas usando sendfile. Predeterminado http, server, location Si se habilita, suprime la salida de la cadena "[an error occurred while processing the directive]" en caso de error durante el procesamiento SSI. Habilita el procesamiento de comandos SSI en respuestas con los tipos MIME especificados además de Establece la longitud máxima de los valores de parámetros en los comandos SSI. Los comandos SSI tienen el siguiente formato genérico: Los siguientes comandos están soportados: Define un bloque que puede usarse como sustituto en el comando include. El bloque puede contener otros comandos SSI. El comando tiene el siguiente parámetro: nombre del bloque. Ejemplo: Configura algunos parámetros usados durante el procesamiento SSI, a saber: una cadena que se muestra si ocurre un error durante el procesamiento SSI. Por defecto, se muestra la siguiente cadena: una cadena de formato pasada a la función El formato "%s" es adecuado para mostrar el tiempo en segundos. Muestra el valor de una variable. El comando tiene los siguientes parámetros: nombre de la variable. el método de codificación. Valores posibles: un parámetro no estándar que establece una cadena a mostrar si una variable no está definida. Por defecto, se muestra El comando equivale a la siguiente secuencia de comandos: Realiza una inclusión condicional. Se admiten los siguientes comandos: Actualmente solo se admite un nivel de anidamiento. El comando tiene el siguiente parámetro: expresión. Una expresión puede ser: comprobación de existencia de variable: comparación de una variable con un texto: comparación de una variable con una expresión regular: Si un text contiene variables, sus valores se sustituyen. Una expresión regular puede contener capturas posicionales y con nombre que luego pueden usarse a través de variables, por ejemplo: Incluye el resultado de otra petición en una respuesta. El comando tiene los siguientes parámetros: especifica un archivo incluido, por ejemplo: especifica una petición incluida, por ejemplo: Varias peticiones especificadas en una página y procesadas por servidores proxied o FastCGI/uwsgi/SCGI/gRPC se ejecutan en paralelo. Si se desea un procesamiento secuencial, debe usarse el parámetro wait. parámetro no estándar que nombra el bloque cuyo contenido se mostrará si la petición incluida resulta en un cuerpo vacío o si ocurre un error durante el procesamiento, por ejemplo: El contenido del bloque de reemplazo se procesa en el contexto de la petición incluida. parámetro no estándar que indica esperar a que una petición se complete totalmente antes de continuar con el procesamiento SSI, por ejemplo: parámetro no estándar que indica escribir un resultado exitoso del procesamiento de la petición en la variable especificada, por ejemplo: El tamaño máximo de la respuesta se establece con la directiva subrequest_output_buffer_size: Establece el valor de una variable. El comando tiene los siguientes parámetros: nombre de la variable. valor de la variable. Si un valor asignado contiene variables, sus valores se sustituyen. hora actual en la zona horaria local. El formato se establece con el comando config con el parámetro timefmt. hora actual en GMT. El formato se establece con el comando config con el parámetro timefmt.Ejemplo de Configuración#
location / {
ssi on;
# ...
}
Directivas#
ssi#
ssi_last_modified#
ssi_last_modified
on
| off
;ssi_last_modified off;
Last-Modified
de la respuesta original durante el procesamiento SSI para facilitar la caché de respuestas.ssi_min_file_chunk#
ssi_silent_errors#
ssi_silent_errors
on
| off
;ssi_silent_errors off;
ssi_types#
text/html
. El valor especial "*" coincide con cualquier tipo MIME.ssi_value_length#
Comandos SSI#
<!--# command parameter1=value1 parameter2=value2 ... -->
block
#name
#<!--# block name="one" -->
stub
<!--# endblock -->
config
#errmsg
#`[an error occurred while processing the directive]`
timefmt
#strftime()
utilizada para mostrar fecha y hora. Por defecto, se utiliza el siguiente formato:`"%A, %d-%b-%Y %H:%M:%S %Z"`
echo
#var
#encoding
#none
, url
y entity
. Por defecto se usa entity
.default
#(none)
.<!--# echo var="name" default="no" -->
<!--# if expr="$name" --><!--# echo var="name" --><!--#
else -->no<!--# endif -->
if
#<!--# if expr="..." -->
...
<!--# elif expr="..." -->
...
<!--# else -->
...
<!--# endif -->
expr
#<!--# if expr="$name" -->
<!--# if expr="$name = text" -->
<!--# if expr="$name != text" -->
<!--# if expr="$name = /text/" -->
<!--# if expr="$name != /text/" -->
<!--# if expr="$name = /(.+)@(?P<domain>.+)/" -->
<!--# echo var="1" -->
<!--# echo var="domain" -->
<!--# endif -->
include
#file
#<!--# include file="footer.html" -->
virtual
#<!--# include virtual="/remote/body.php?argument=value" -->
stub
#<!--# block name="one" --> <!--# endblock -->
<!--# include virtual="/remote/body.php?argument=value" stub="one" -->
wait
#<!--# include virtual="/remote/body.php?argument=value" wait="yes" -->
set
#<!--# include virtual="/remote/body.php?argument=value" set="one" -->
location /remote/ {
subrequest_output_buffer_size 64k;
# ...
}
set
#var
#value
#Variables Integradas#
$date_local
#$date_gmt
#