Crear urls amigables

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

Crear urls amigables

¿Cómo generar urls amigables usando Laravel?

¿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:

 

 

No tiene descargable

Comparte el código!...talvez tu amigo lo necesite!

Whatsapp Messenger Facebook Twitter

Visitado 1351 veces | Publicado hace 1 año

Curso Laravel 8 Página Web 100% Administrable

Mira el temario del curso en el siguiente link

VER EL CURSO

Logo Codea App

Develop your code

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021