Crear urls amigables

¿Cómo generar urls amigables usando Laravel?

Crear urls amigables

¿Cómo generar urls amigables usando Laravel?

Para generar una url amigable se crea un campo adicional llamado slug a nuestro modelo, este campo guardará el texto o url amigable, veamos el tutorial

¿Qué es una Url Amigable?

Una url amigable es una ruta limpia que solo lleva palabras separadas por guiones medios, omitiendo números y caracteres extraños como tildes, ñ, etc. esta configuración ayuda a la indexación por parte de Google, es un factor para el posicionamiento web, además ayuda al usuario a interpretar mucho más rápido en que lugar o sección se encuentra navegando en una página web. Un ejemplo de compración sencillo puede ser:

Diferencian entre Urls no amigables VS urls amigables.

Urls no amigables:

  • http://codea.app/?page=productos  ...... aqui nos refiere la página productos
  • http://codea.app/?page=productos&id=1.... aqui nos refiere la página de un producto identificado por el id.

Urls amigables:

  • https://codea.app/productos  ... pagina productos
  • https://codea.app/productos/naranja ..... pagina que pertenece al producto naranja en vez de llevar un id

Si nos fijamos la primera y la segunda llevarán a la misma página, pero la segunda se entiende mucho más facil, ademas de ser corta, ahorramos muchos bytes.,

Pues bien Laravel nos provee de un sistema de rutas muy fácil de usar, pero que pasa cuando tenemos una lista de productos donde cada modelo tiene un id único. Veamos nuestra tabla

http://codea.app/productos/1

http://codea.app/productos/2

Esto puede ser una url amigable pero no es entendible, 

Empecemos:

En nuestro modelo:

Debemos declarar y agregar el campo slug en nuestro modelo, como vemos en la siguiente línea de código:

protected $fillable =['slug','nombre','descripcion','urlfoto'];

En nuestra migración:

En el archivo de migración del modelo debemos declarar el tipo de dato y la longitud que tendrá e incluso como atributo podemos colocar que sea único. Veamos el código:

$table->string('slug',55)->unique();

En nuestra ruta:

En nuestra sistema de rutas debemos agregar la url donde declaramos una variable con el nombre producto

https://dominio.com/productos/{producto}

En nuestro controllador:

En nuestra vista:

 

 


¿Quieres el código fuente del proyecto
Crear urls amigables?

...por favor suscríbete gratuitamente para descargarlo

SUSCRÍBIRME

Compártelo...talvez alguién lo necesite!

Whatsapp Messenger Facebook Twitter
ó copia el link

Visitado 201 veces | Publicado hace 2 meses

Más códigos de programación en LARAVEL.

Ver scripts de LARAVEL

© Todos los derechos reservados | codea.app | Comunidad de programación web y desarrollo de aplicaciones móviles | 2020