Url en CodeIgniter
Las urls, bajo el framework CodeIgniter, fueron creadas de tal modo que por defecto sean amigables tanto para el ojo humano como para el estómago de los motores de búsqueda (search engines). En reemplazo del esquema comumente utilizado por websites dinámicos, como lo es el de parámetros por querystring, CodeIgniter se apoya en uno de partes / segmentos. Por ejemplo: www.juanrabadan.com.ar/notas/leer/1
Nota: Si precisamos utilizar los querystring, podemos habilitarlo en el archivo de configuración.Composición de la URI
Las partes o segmentos en las URL, siguiendo con el paradigma del modelo MVC (modelo - vista - controlador), podemos representarlas con el siguiente ejemplo.
www.juanrabadan.com.ar/class/function/ID
1. El primer segmento representa la clase del controlador que debería ser invocado.
2. El segundo segmento representa la función de esta clase, o el método que debería ser llamado.
3. El tercer segmento y cualquier segmento adicional, representa el ID y cualquier otra variable que será pasada al controlador.
La clase URI y el helper URL contienen diferentes funciones que hacen muy fácil trabajar con la información contenida en las URI. En adición, cualquier URL puede ser remapeada utilizando la característica de URI Routing para obtener mayor flexibilidad.
Como remover "index.php" en las URL de CodeIgniter
Por defecto, el archivo index.php será incluido en todas las URLs:
www.juanrabadan.com.ar/index.php/notas/leer/1
Podemos remover fácilmente el segmento index.php de todas las URLs de nuestra aplicación. Para eso debemos incluir las siguientes linesas en nuestro archivo .htaccess situado en la raíz de la aplicación.
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
En el ejemplo anterior, cualquier petición HTTP que no sea explicitamente index.php, images ó robots.txt es tratado como una petición para index.php.
Agregando sufijos a las URL
En el archivo config.php de nuestra aplicación (/system/application/config/config.php) podemos especificar un sufijo que será agregado por defecto a todas las URLs generadas por CodeIgniter. Por ejemplo si la URL es esta:
www.juanrabadan.com.ar/servicios/ver/consultoria
Podemos agregar de manera opcional, el sufijo .html, haciendo que la URL se parezca más a una página de un cierto tipo. De esta forma la URL nos quedaría
www.juanrabadan.com.ar/servicios/ver/consultoria.html
La información fue extraída del manual online de CodeIgniter