SERVER SIDE INCLUDES EN APACHE
Los Server Side Includes o SSI, o Inclusiones en la parte Servidor, facilitan incluir contenido dinámico a documentos HTML estático, sin necesidad de usar un lenguaje de programación del lado servidor como php. SSI son directivas que se introducen en páginas HTML y son evaluadas por el servidor, en este caso Apache.Para poder usar las directivas SSI hay que configurar el servidor e indicar a que extensiones de ficheros se les permite las directivas SSI con un ".htaccess" o la confifguración de Apache para el sitio.
NOTA: En la información que he encontrado por internet solo hablan de ficheros con extensión ".shtml", en mi ordenador personal, que es windows, me ha permitido usar las directivas SSI con ficheros html y con ficheros php, en el servidor donde tengo mi página, y este blog, que es linux, me ha permitido usar las directivas SSI con ficheros html.
Algunas directivas SSI disponibles:
- Hora local:
<!--#echo var="DATE_LOCAL" --> - Fecha ultima modificación de un fichero:
<!--#flastmod file="ssi.html" --> - Personalizar error ssi:
<!--#config errmsg="[Error SSI]" --> - Variables:
<!--#set var="name" value="Gonzalo" --> - Usar condicionales:
<!--#if expr="%{TIME_HOUR} < 14" -->Buenos díasBuenas tardes<!--#endif -->
La configuración de apache sería:
Options +Includes
AddOutputFilter INCLUDES .html .php
Estos son unos ejemplos sencillos. Pero yo la directiva ssi que más he usado y la que más útil me parece, en mi opinión, es la de poder incluir otros ficheros html dentro de ficheros html. Y creo que es útil ya que si tenemos una página web que tiene contenido estático se pueden separar las cabeceras, el contenido y los pies de página y si hay que cambiar algo en las cabeceras o pies de página solo se modifica un fichero, o dos y no todas las páginas estáticas.
Ejemplo para incluir ficheros html dentro de otros ficheros html:
Fichero index.html
//cabecera html
Hola bienvenido a mi web
<#include file="menu.html">
//Resto de código html
<ul>
<li>Opcion 1</li>
<li>Opcion 2</li>
<li>Opcion 3</li>
</ul>
<!--#include virtual="/directory/menu.html" -->