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.