CodeIgniter utiliza lo que se llaman friendly paths. Por ejemplo si tenemos esta URI:

htpp://localhost/index.php?p=download&file;=miprograma

con este framework podriamos traducirlo a una cosa así y funcionaria:

http://localhost/download/file/miprograma

donde download es el controlador a cargar (recordar que Codeigniter utiliza la arquitectura MVC) file es la función a llamar de ese controlador y miprograma es un parámetro de dicha función.

Esto es muy bonito y limpio 🙂

Pero para eliminar de la URI index.php se necesita configurar un .htaccess y aqui vienen los problemas. Si utilizas IIS estos ficheros de configuración no existen ya que son propios de Apache.

En la Web de CodeIgniter viene como configurar esto para Apache

Buscando buscando he encontrado una solución para IIS que se llama ISAPI REWRITER, aqui los links:

artículo con ejemplos
descargas

Este programita está pensado para resolver resolver la URI para que los boots de buscadores como Google “acepten” de buen agrado tu página, redireccionar URI’s, para realizar balanceos de carga, etc, etc…. ( aquí puedes encontrar una explicación más detallada de las posibilidades) y para nuestro problemilla tambien nos servirá.

Es de pago, pero tiene una versión lite para 64 bits y otras para 32 bits que creo que ya servirá. Ya que la idea es utilizarlo sólo en mi entorno de desarrollo. Cuando suba el proyecto a mi hosting ya no habrá problema porque es un LAMP y lo único que necesitaré es subir el susodicho .htaccess.

Tambien anda por ahí otro programita Open Source que hace lo mismo, pero escrito por y para .NET, pero no lo he probado. El link aquí. Parece ser que tambien tienen una versión en Java.