Problemas y Soluciones

Como hacer funcionar los Server Side Includes (SSI) en IIS 7 para archivos HTML

IIS 7 Logo

IIS 7 Logo

Por lo general, IIS trae preconfigurados los SSI (Server Side Includes) para los archivos de tipo .shtml. Sin embargo, puede haber ocasiones en que estemos agregando funcionalidad de SSI a un sitio ya existente, y cuyos archivos tenian extensiones .html.

Para estos casos, lo que tenemos que hacer es agregar un Module Mapping en IIS para que los archivos con extension .html sean manejados por el modulo correcto. Como todo, hay algunos detalles que si no se hacen de cierta manera, las cosas no van a funcionar. Batallé como 2 horas para hacer funcionar esto, así que lo escribo por si a alguien le ahorra tiempo.

Pasos para hacer funcionar SSI para archivos HTML en IIS 7

1. Start -> Run -> inetmgr -> enter.
2. En el arbol/menu de la izquierda, seleccionar la aplicacion especifica que queremos configurar. Si no se selecciona una aplicación en especifico, estaríamos modificando los mappings para todo IIS, y puede que no sea esto lo que queramos.
3. Doble click en Handler Mappings

IIS 7 Handler Mappings

IIS 7 Handler Mappings

4. Podemos notar que ya existen 3 Mappings con el prefijo SSINC, para los archivos de tipo .shtml, .stm y .shtm
5. Hacemos click derecho en cualquier mapping, y seleccionamos la opción Add Module Mapping.

Module Mappings de SSI en IIS 7

Module Mappings de SSI en IIS 7

6. Llenamos el campo Request Path con el valor *.html, para que aplique para todos los archivos .html.

Nuevo Module Mapping para SSI en IIS 7

Nuevo Module Mapping para SSI en IIS 7

7. En el campo Module, seleccionamos la opción de ServerSideIncludeModule.
8. Y en el campo de Name, para ser consistentes con las otras extensiones, podemos usar el valor SSINC-html.
9. Hacemos click en el botón de Request Restrictions.
10. Activar el checkbox de “Activate Handler only if request is mapped to“, y seleccionar la opción de File.

Request Restrictions para el Module Mapping de SSI

Request Restrictions para el Module Mapping de SSI

Ahora, IIS ya está configurado. Pero hay un par de detalles más que hay que tomar en cuenta.

Se pueden llegar a topar con el error “Error processing SSI file” de IIS.

Para solucionar esto yo tuve que hacer 2 cosas:

1.Asegurarse que el usuario IIS_IUSRS tenga acceso total al folder donde esta físicamente el sitio.

IIS 7 SSI Correct File Permissions

IIS 7 SSI Correct File Permissions

2. En el archivo HTML, al hacer el include, usar la opción file en lugar de virtual.

Usar file en lugar de virtual al hacer un include de SSI en IIS

Usar file en lugar de virtual al hacer un include de SSI en IIS

[Update] Se me olvidó mencionar que obviamente, como este Mapping hace que todos los archivos .html sean interpretados por el modulo de Server Side Include, estamos haciendo que IIS ya no trate los archivos .html como si fueran estaticos, lo cual implica una mínima perdida de performance de compresión, y un mínimo overhead de procesamiento para los archivos HTML solamente. Para mas información, pueden leer el cuarto comentario de este link, hecho por un MVP de IIS: Enable SSI to include an HTML File.

Y eso es todo…espero les sirva. Si tienen dudas o problemas, dejen un comentario.

Pasos para debuggear problemas complejos correctamente

Un post de Tess Ferrandez, una de las personas mas conocedoras sobre debugging avanzado de .NET y Windows en general.

Este post no es tecnico, sino un recordatorio de que muchas veces al estar intentar debuggeando un problema muy raro, nos ponemos a trabajar sin rumbo, y sin analizar y definir las cosas basicas como la frecuencia del problema, cuando empezó el problema, etc.

Tess es como el Chuck Norris de debugging.

El articulo es: Primer paso al debuggear problemas complejos: Define y delimita tu problema correctamente

Como quitar los sonidos de anuncios del MSN messenger – Melate

Como si no fuera suficiente con el estupido anuncio del test de la muerte en varias paginas populares, ahora un anuncio de Melate que se despliega en el MSN Messenger esta tocando el sonido de las palpitaciones de un corazon cada 5 segundos.

Aqui están las instrucciones para quitarlo:

  1. Cerrar completamente el MSN.
  2. Ir a al Start menu, seleccionar la opción de Run.
  3. Teclear: notepad %windir%\system32\drivers\etc\hosts
  4. Pegar las siguientes 4 lineas de texto hasta el final del archivo. Despues de pegarlas, guardar y cerrar el archivo, y loggearse al MSN de nuevo.

127.0.0.1            rad.msn.com
127.0.0.1            a.rad.msn.com
127.0.0.1            b.rad.msn.com
127.0.0.1           view.atdmt.com

Screenshots para los pasos 3 y 4:

Paso 3 - Abrir archivo de hosts con notepad

Paso 3 - Abrir archivo de hosts con notepad

Paso 4 - Pegar lineas en el archivo de hosts

Paso 4 - Pegar lineas en el archivo de hosts


En Windows 7, tal vez no los deje grabar los cambios al archivo de hosts, debido a restricciones de seguridad, pero simplemente basta con abrir Notepad como Administrador, para eso:

  1. Ir directamente al folder donde está el ejecutable de Notepad (Start -> Run -> %windir%\system32)
  2. Dar click derecho en notepad.exe, y crear un shortcut (acceso directo). El shortcut se va a haber creado en el Desktop.
  3. Dar click derecho en el shortcut, y en el tab de Shortcut, hacer click en el boton de Advanced. En el diálogo que se despliega, activar el checkbox de “Run as Administrator“, y dar click en OK.
  4. Abrir Notepad usando el shortcut que creamos.
  5. Abrir el archivo (File -> Open, %windir%\system32\drivers\etc\hosts), pegar las lineas, y guardar los cambios.

Las direcciones que ven ahí, como rad.msn.com, son las direcciones de los servidores de anuncios que usa el messenger.

Al pegar estas lineas en el archivo de hosts, estamos haciendo que nuestro MSN ya no pueda localizar los servidores reales de anuncios de MSN y ahora ya no despliega ningun anuncio.

Salió mejor, no solo quitamos los sonidos de los anuncios, sino todos los anuncios.

En Windows 7 hay otra manera de solamente quitar los sonidos, pero afecta a cualquier sonido del MSN (como nudges y winks). Windows 7  permite controlar el nivel de volumen individualmente por aplicación.

Con solo:

  1. Dar click derecho en el icono de la bocina
  2. Seleccionar la opción “Open Volume Mixer
  3. Va a aparecer una barra de sonido para el MSN.
  4. Llevar hasta abajo, al cero, la barra de sonido que corresponde al MSN.
Paso 2 - Open Volume Mixer

Paso 2 - Open Volume Mixer

Listo. Espero les haya servido.

Problemas con Telmex Infinitum? Usa los servidores DNS de OpenDNS

OpenDNS

OpenDNS

Durante la semana pasada, Miercoles y Jueves para ser mas precisos, estuve teniendo problemas con Telmex-Infinitum.

Cada 15 minutos perdía la señal de Internet, aunque todos los focos del modem estaban verdes, incluso el de Internet. Ni siquiera reseteando el modem a settings de fábrica lo resolvía, ni tampoco renovando la dirección IP local o de la WAN.

Entonces se me ocurrió que podían ser los servidores de DNS de Telmex-Infinitum, y recordé haber leido en algun blog o página que OpenDNS proveía este servicio gratis, así que en cuanto regresó el internet decidí hacer la prueba.

Y al parecer ese era el problema. Cambié los servidores de DNS del Router 2Wire (no solo de mi computadora), de manera que me evité tener que estar moviendo los DNS para cada adaptador de red en la casa.

La gente de OpenDNS definitivamente ha hecho un buen trabajo en cuanto a tutoriales, ya que incluso una persona sin muchos conocimientos técnicos podría haber hecho el cambio, siguiendo las instrucciones visuales.

Los servidores DNS de OpenDNS son:

Primario: 208.67.222.222

Secundario: 208.67.220.220

Instrucciones para cambiar los servidores DNS a OpenDNS en tu computadora, router o DNS Server

Los pasos para cambiar los servidores DNS en un router 2Wire son:

  • Abrir la interfaz de administracion (generalmente http://home)
  • Hacer click en “Advanced Settings” (o Configuracion Avanzada)
Broadband Link Advanced Settings

Broadband Link Advanced Settings

  • En la seccion de “Broadband DNS”, elegir la opción “Manually Configure your DNS information”
2Wire Router Settings DNS

2Wire Router Settings DNS

  • Teclear los servidores Primario y Secundario que nos da OpenDNS (208.67.222.222 y 208.67.220.220)

Espero que les sirva.

1 2 3 4  Scroll to top