Hace unos meses nos cambiamos de servicio de hosting. Despues de 14 años en Colossus.net, este viejo compañero de batallas dejo de existir, con lo que se dieron las circunstancias adecuadas para cambiar de servidor.
Como las instalaciones de los servidores no son identicas tuvimos que adaptar el buscador a la configuracion del nuevo servicio de hosting SPCNet, el nuevo servicio de hosting al que nos trasladamos, dicho sea de paso, estamos muy contentos, despues de tantos años con Colossus.net, a miles de kilometros de distancia y sin haber estado ni una sola vez en las instalaciones donde han residido nuestros datos, nos da una cierta seguridad tener los servidores a escasos kilometros de nuestras oficinas.
La configuracion era practicamente identica a excepcion de la URL del CGI de busqueda, que pasaba de cgi-busco en colossus a cgi-bin en SPCNet.
Este pequeño cambio hizo que las cientos de paginas que hay por Internet y que enlazaban de una forma u otra a nuestro buscador dejaran de funcionar.¡
Obviamente esta fuera de nuestro alcance contactar a los webmasters de esos cientos de paginas para que cambiaran las URL en sus paginas para reflejar los cambios que se habian producido por nuestro cambio de servidor.
Por suerte, Apache, que es el servidor web que sirve las paginas web de Busco.com posee un modulo especifico para este tipo de problemas, el Mod_Rewrite.
Basicamente se configuran unas expresiones regulares para que el servidor convierta unas URL en OTRAS.
Ej:
En la siguiente Pagina:
http://navalmodel.com/web%20barcos/a.alcaraz/p.e/links/links.htm
Hay un enlace a Busco.com, que en realidad es una busqueda en si:
http://www.busco.com/cgi-busco/u/s?i=modelismo+naval
Esta URL no funcionaba antes de configurar el Mod_Rewrite en apache, con lo cual daba un error, ya que la nueva URL para busquedas cambia el cgi-busco por cgi-bin, asi pues la URL correcta seria
http://www.busco.com/cgi-bin/u/s?i=modelismo+naval
Aqui viene la magia
Con la siguiente orden en el archivo .htaccess del directorio principal de nuestra web conseguimos que Apache se encarge de hacer el cambio sin que el usuario note nada.
RewriteRule ^cgi-busco.*$ http://www.busco.com/cgi-bin/u/s
¿NO ESTA MAL? ¿NO?
Lo cierto es que el modulo Mod_Rewrite de Apache es mucho mas potente que lo que ilustra este simple ejemplo, pero a su vez la documentacion que hay sobre el modulo es bastante dificil de entender, a mi juicio.
Busco.com, apache, mod_rewrite