Desarrollo web

Crear y utilizar enrutamiento dinámico de subdominios en Laravel

Muchos sitios web les dan a sus usuarios un subdominio personalizado para sus perfiles o páginas. Así que en lugar de acceder al perfil del usuario en http://website.com/users/50, el usuario puede acceder a su página de perfil en http://username.website.com que es mucho mejor. En esta publicación, veremos cómo hacer que el enrutamiento dinámico del subdominio de Laravel sea más fácil.



Configurar el DNS

Para hacer este truco, debes tener acceso al configurar el servidor DNS y al servidor web apache.


En primer lugar, debes agregar un registro A con un asterisco para el subdominio, de esta manera:

* IN A 192.168.1.5

Debes reemplazar la dirección IP con tu dirección IP.


Configurar el servidor web

Abre el archivo de configuración del servidor web Apache httpd.conf y agrega un VirtualHost, así:

Supongamos que tenemos los usuarios con el campo name que contendrá el nombre del usuario.

Ahora crearemos nuestra ruta.

Primero, hacemos un explode en la URL y extraemos el host de ella, luego obtenemos la parte del subdominio.

Luego buscamos el nombre de usuario en la tabla de usuarios que coincida con el subdominio extraído.

Puedes verificar si no se encuentra el usuario, para luego redirigir a otra página o darle un mensaje de error o lo que sea.

Ahora, si intentas visitar cualquier subdominio de usuario como http://likegeeks.website.com, deberías ver el nombre del usuario sin problemas.

Ten en cuenta que cuando un usuario está visitando su subdominio DEBE estar presente en la base de datos.

Cualquier usuario agregado a la base de datos tendrá automáticamente su subdominio sin dolor de cabeza.

Si no tienes acceso a la configuración del servidor web, como cuando usamos un servidor compartido, podrás lograr la misma funcionalidad utilizando la redirección htaccess.


Varias rutas en el subdominio

En el ejemplo anterior, usamos una ruta única para tratar con el subdominio, pero puedes usar muchas rutas con un subdominio.

Puede usar grupos de rutas para lograr esto:

Como ves, el enrutamiento del subdominio de Laravel es muy fácil de implementar.

Espero que encuentres útil la publicación. Sigue regresando.

Gracias.

Mokhtar Ebrahim
Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *