URL Amigables con CodeIgniter
En esta página:
Hoy en día todo desarrollador tiene distintas maneras de programar o diseñar sus propios sitios y paginas; pero todo proyecto que desarrolles debe tener al menos esta característica SEO que son las rutas amigables.
Usualmente las url de tus proyectos suelen terminar con este tipo de extensiones (.jsp .php .asp, etc.) esto en realidad puede afectar a la posición de tu sitio web en la nube; en esta oportunidad mostrare una URL amigable con el framework CodeIgniter ya que una de sus características que tiene es el ruteo (routes.php) con esto podremos crear rutas más cortas y más amigables.
Bueno para empezar deberán tener descargado el framework de CodeIgniter en caso no lo tengas pulsa aquí para descargarlo.
Bien vamos a hacer esto de una manera sencilla, empezaremos por lo siguiente.
Voy a crear un nuevo controlador llamado home.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php <span style="color: #ff00ff">if</span> ( <span style="color: #ff00ff">!</span> <span style="color: #008000">defined</span>(<span style="color: #800080">'BASEPATH'</span>)) <span style="color: #ff00ff">exit</span>(<span style="color: #800080">'No direct script access allowed'</span>); <span style="color: #0000ff">class</span> Home <span style="color: #ff00ff">extends</span> <span style="color: #008000">CI_Controller</span> { <span style="color: #ff00ff"> public</span> <span style="color: #0000ff">function</span> <span style="color: #008000">index</span>() { <span style="color: #0000ff">echo</span> <span style="color: #800080">"Hola soy la función index :)"</span>; } <span style="color: #ff00ff">public</span> <span style="color: #0000ff">function</span> <span style="color: #008000">mostrar_datos</span>() { <span style="color: #0000ff">echo</span> <span style="color: #800080">"Hola soy la función mostrar datos :)"</span>; } } |
Si pueden observar mi controlador home.php tiene dos funciones, la función índex que cargará el mensaje de forma automática en caso se llame al controlador home desde el navegador y la función mostrar_datos, si llamamos a esta función desde el navegador lo haríamos de esta manera https://localhost/nomproy/home/mostrar_datos y para tener la ruta mas amigable seria cambiar los “_” por “-“ quedando de esta manera https://localhost/nomproy/home/mostrar-datos.
NOTA: no se pueden crear funciones de esta manera public function mostrar-datos() ya que no es permitido, para poder modificar la ruta haremos lo siguiente.
Dentro de la carpeta application/config se encuentra un archivo de rutas llamado routes.php que por default en CodeIgniter viene configurado de esta manera:
1 2 3 4 |
$route[<span style="color: #800080">'default_controller'</span>] = <span style="color: #800080">"welcome"</span>; $route[<span style="color: #800080">'404_override'</span>] = ''; |
Lo único que nosotros añadiremos será la siguiente línea de código:
1 2 3 |
$route[<span style="color: #800080">'home/mostrar-datos'</span>] =<span style="color: #800080">"home/mostrar_datos"</span>; |
Y listo desde el navegador podremos llamarla de la siguiente manera https://localhost/nomproy/home/mostrar-datos y funcionara de manera correcta cargando el contenido que tengas dentro de tu controlador.
En el caso que desees acortar tu función seria de esta manera:
He creado esta función en mi controlador home.php:
1 2 3 4 5 6 |
<span style="color: #ff00ff">public</span> <span style="color: #0000ff">function</span> <span style="color: #008000">una_funcion_super_mega_larga</span>() { <span style="color: #0000ff">echo</span> <span style="color: #800080">"Hola soy la funcion super larga D:"</span>; } |
Cuando llames a esta función desde tu navegador seria de la siguiente manera:
https://localhost/nomproy/home/una_funcion_super_mega_larga
Entonces para acortarla vamos a hacer lo siguiente, vamos a nuestro archivo de rutas (routes.php) que se encuentra dentro de la carpeta application/config y añadimos esta línea de código:
1 2 3 |
$route[<span style="color: #800080">'home/funcion-corta'</span>] =<span style="color: #800080">"home/una_funcion_super_mega_larga"</span>; |
Y cuando llamemos a la función desde el navegador seria de la siguiente manera:
https://localhost/nomproy/home/funcion-corta
en teoria mas corta y amigable.
Puedes descargar el código en nuestro GitHub.
Bueno muchas gracias eso seria todo, es un tutorial sencillo y corto espero les sea de gran ayuda.
Pueden seguirme en Twitter como: @jccisnerosp
- Backend Tutoriales
- 09-04-2015
- 03-09-2022
- Crear un Post - Eventos Devs - Foro