Saltar al contenido
Codif铆ca.me | Desarrollo web | Programaci贸n

Subdominios en Laravel [F脕CIL] C贸mo crear y administrar subdominios en tus webs

10 diciembre, 2021
laravel

Las aplicaciones web modernas suelen realizar m谩s de una funci贸n. A menudo tienen m谩s de una secci贸n, ofrecen m谩s de un servicio y tienen un par de servicios web.

Por lo general para administrar todo esto se pueden utilizar subdominios, ademas cuanta m谩s funcionalidad tenga la aplicaci贸n peor se gestionan sus rutas.

驴Y si hubiera una forma de separar todas estas partes en componentes m谩s peque帽os con rutas mejores y m谩s limpias? 驴Algo a lo que los usuarios pudieran acceder f谩cilmente y utilizar de forma independiente, bajo el mismo sitio web?

Pues para eso exactamente se pueden utilizar los subdominios.

驴Qu茅 es un subdominio?

En la jerarqu铆a del Sistema de Nombres de Dominio, un subdominio es un dominio que forma parte de otro dominio. Por ejemplo, si un dominio ofrece una tienda online como parte de su sitio web ejemplo.com, podr铆a utilizar el subdominio tienda.ejemplo.com.

驴Por qu茅 deber铆a utilizar subdominios?

Los subdominios son bastante 煤tiles, y estas son algunas de sus principales ventajas:

  • Los usuarios pueden recordar f谩cilmente los dominios de su sitio web, lo que significa que probablemente utilizar谩n m谩s su sitio.
  • Podr谩s dividir tu gran aplicaci贸n en grupos m谩s peque帽os, por lo que ser谩 m谩s f谩cil de gestionar, depurar y actualizar o mejorar.
  • Los subdominios tambi茅n permiten la personalizaci贸n: por ejemplo, una aplicaci贸n de blog podr铆a dar a cada usuario su propio subdominio .
  • Los subdominios tambi茅n permiten a los desarrolladores probar una versi贸n de su aplicaci贸n antes de pasarla a producci贸n. Podr铆as tener un beta.site.com para previsualizar los cambios antes de desplegarlos en el sitio principal.

Veamos c贸mo funciona todo esto construyendo un proyecto real y prob谩ndolo.

C贸mo configurar los archivos de rutas

En su archivo web.php, puede definir rutas individuales con su dominio (o subdominio) de la siguiente manera:

Route::get('/', function () {
    return 'listo, tu primer subdominio';
})->domain('blog.' . env('APP_URL'));

Ahora puedes acceder a la p谩gina en blog.dominio.com.

Pero lo m谩s frecuente es que tengas m谩s de una ruta en una aplicaci贸n, como un dominio y subdominios. Por lo tanto, es una buena idea utilizar un grupo de rutas para mapear todas las rutas en el mismo dominio o subdominio y tenerlas agrupadas.

Este ser铆a un ejemplo:

Route::domain('blog.' . env('APP_URL'))->group(function () {
    Route::get('posts', function () {
        return 'Tu subdominio';
    });
    Route::get('product/{id}', function ($id) {
        return 'este es un producto ' . $id . ' en tu subdominio';
    });
});

Y con esto ya tendr铆as tus impresionantes subdominos montandos en Laravel.