Skip to main content

Enrutamiento básico

Las rutas más básicas de Laravel reciben un URI y una closure. Puedes definir rutas y sus comportamientos con facilidad, sin archivos de configuración complejos.

Archivos de ruta por defecto

Todas las rutas de Laravel se definen en los archivos del directorio routes/. Laravel los carga automáticamente en función de la configuración en bootstrap/app.php. Define en routes/web.php las rutas dirigidas al navegador. A las rutas de este archivo se les aplica el grupo de middleware web, que aporta sesión, protección CSRF y cifrado de cookies.

Rutas de API

Si la aplicación ofrece una API sin estado, puedes habilitar el enrutamiento de API con el comando Artisan install:api.
El comando install:api instala Laravel Sanctum y crea el archivo routes/api.php. Sanctum ofrece un guard sencillo y robusto de autenticación por API tokens para consumidores externos, SPAs y aplicaciones móviles.
Las rutas de routes/api.php son sin estado y se les aplica el grupo de middleware api. Además, se aplica automáticamente el prefijo /api a todas las rutas, por lo que no necesitas añadirlo manualmente. Para cambiar el prefijo, edita el archivo bootstrap/app.php.

Métodos HTTP disponibles

El router permite registrar rutas para todos los métodos HTTP.
Para rutas que responden a varios métodos HTTP, usa match o any.
En los formularios HTML que envían POST, PUT, PATCH o DELETE a rutas de web, incluye siempre la directiva @csrf. Sin ella, la solicitud será rechazada.

Rutas que devuelven una vista

Si la ruta simplemente devuelve una vista, Route::view te permite escribirlo de forma concisa.

Parámetros de ruta

Parámetros obligatorios

Para capturar parte de la URL de forma dinámica, usa parámetros de ruta. Se encierran entre {} y se reciben como argumentos del callback.
También puedes definir varios parámetros.
Los parámetros de ruta no pueden contener el carácter /.

Parámetros opcionales

Para hacer opcional un parámetro, añade ? al final de su nombre y proporciona un valor por defecto en el argumento correspondiente.

Restricción de parámetros con expresiones regulares

Con el método where puedes restringir el formato del parámetro mediante una expresión regular.
Los patrones más habituales tienen métodos abreviados.

Rutas con nombre

Las rutas con nombre te permiten generar URLs o hacer redirecciones referenciando la ruta por su nombre.

Generar URLs de rutas con nombre

Genera URLs a partir del nombre de la ruta con el helper route.

Redirección

Grupos de rutas

Puedes agrupar rutas relacionadas para compartir configuración de middlewares, controlador, prefijo, etc.

Middleware

Controlador

Agrupa las rutas que usan el mismo controlador.

Prefijo

Añade un prefijo común a los URIs de un grupo de rutas.

Listar rutas

Para ver todas las rutas definidas, usa el comando Artisan:
Para mostrar también la información de middlewares:
Para mostrar solo las rutas que empiezan por un URI concreto:

Próximos pasos

Vistas

Aprende a crear vistas y a pasarles datos desde los controladores.
Última modificación el 13 de julio de 2026