Lo bueno de las malas experiencias es que nos sirven para aprender. Mi ejemplo es un problema de hosting para un sistema que hice para una empresa, seguimiento de clientes, nada complicado. Aunque en realidad esto comenzó desde el trato con el cliente al inicio del proyecto.
Para empezar, los clientes no sabían qué querían para su sistema. Empezó con un sistema de escritorio, lo que yo logré que deshecharan rápidamente (principalmente porque no es mi especialidad). Les expliqué las ventajas de un sistema en linea al poder acceder a los datos desde fuera pero al final de cuentas quedamos en que primero iba a ser un sisteman en LAN y, dependiendo de como se viera, se podría sacar a un host en la web.
Cambios de último momento. Cuando ya estaba listo el sistema se dieron cuenta que sus vendedores pasan mucho tiempo fuera de la empresa, por lo tanto se buscó una solución entre hostear el sistema en mi servidor (shared hosting) o el servidor donde ellos tenían su sitio (llamemoslo www.empresa.com). Obviamente es mejor tener un subdominio (seguimiento.empresa.com) que intentar hacer que recuerden una dirección como ixaidev.com/empresa, se contactó al personaje que tiene su host y se me dio acceso al subdominio con mi base de datos y una cuenta FTP.
¡Nunca asumas! Lo tuve que aprender a la mala, como toda persona que trabaja con Apache, hago uso de los archivos .htaccess para configurar el servidor a mi gusto, el sistema dependía de ellos pero este nuevo host no usaba Apache, sino IIS (el host programa en ASP). La bronca aquí es que todas las configuraciones y sobre todo las “Rewrite Rules” no sirven, no hay manera de tener urls del estilo www.empresa.com/controller/action, sino que tienes que recurrir a www.empresa.com/index.php/controller/action, un problema tedioso ya que no puedes usar los constructores default de URLs y tienes que modificar a mano todos los links.
Despues de eso el sistema sirvió por más de un mes, hasta que surgió uno de los problemas más extraños que he visto, claro que era algo mínimo y todos saben lo frustrante que pueden ser esos problemas. Nada sirve hasta que no arreglas un caractér en tu código y la cosa aquí fue una diagonal (si, ‘/’). Si alguien sabe como es que esto afecta un sistema, por favor diganme, la cosa va así: normalmente las direcciones en Apache serían www.empresa.com/controller/action/, se tuvo que cambiar a www.empresa.com/index.php/controller/action/ pero, misteriosamente, despues de un més de funcionamiento eso tampoco servía, resulta que se tenía que escribir www.empresa.com/index.php/controller/action (sin el ‘/’ final) porque si no los tomaba como directorios y te daba un 404 Not Found.
Obviamente yo no cambié nada en el sistema, y el host dice no haber cambiado ninguna configuración. Le creo hasta cierto punto ya que, como el mismo lo dijo, “tengo 166 sitios en ese servidor, si cambio algo sin previo aviso amanezco en el centro linchado y quemado en leña verde”.
De aquí no queda otra más que saber como funciona IIS, saber exactamente donde y como se van a hostear tus proyectos antes de empezar a trabajar en ellos y, en caso de ser necesario, recomedar alguna solución que pueda ayudar a todos, tanto a tí como a la empresa que te contrató. Una solución que hubiera podido funcionar es un simple link o redireccionado hacia un servidor en Apache desde su sitio.