19. Ajuste en la creación del dominio virtual

Solución a Error 404 - Ajuste Crucial al Crear Dominios Virtuales en XAMPP

¿Te ha pasado? Es tu primera vez configurando un dominio virtual (por ejemplo, proyecto-arabel.test) en XAMPP. Sigues todos los pasos al pie de la letra: modificas el httpd-vhosts.conf y el archivo hosts. Funciona perfectamente... demasiado bien, de hecho.

Ahora, cuando intentas acceder a tu localhost habitual para ver otros proyectos o el dashboard de XAMPP, ¡zas! Te aparece un Error 404 - Página no encontrada. Y lo más extraño es que el navegador intenta cargar la carpeta de tu nuevo proyecto (arabel) como si localhost hubiera sido secuestrado por él.

¿Por qué sucede esto?
El motivo es que al definir un Virtual Host, le estás diciendo a Apache que cuando reciba una petición a una dirección específica (como proyecto-arabel.test), sirva los archivos desde una carpeta concreta. Si no defines explícitamente un Virtual Host para localhost, Apache simplemente usará el primero que encuentre en la lista de configuración, que en este caso es el de tu nuevo proyecto.

La Solución: Recuperar nuestro localhost

La buena noticia es que la solución es simple y rápida. Solo debemos asegurarnos de que localhost tenga su propio Virtual Host definido y que esté antes que cualquier otro en la lista.

Sigue estos pasos:

  1. Edita el archivo httpd-vhosts.conf
    Ubica y abre el archivo de configuración de hosts virtuales de Apache. Normalmente se encuentra en:
    C:\xampp\apache\conf\extra\httpd-vhosts.conf

  2. Agrega el Virtual Host para localhost
    Antes de cualquier otra definición de dominio virtual (especialmente antes del que creaste para tu proyecto), pega el siguiente bloque:

    apache
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "C:/xampp/htdocs"
        <Directory "C:/xampp/htdocs">
            Options Indexes FollowSymLinks Includes ExecCGI
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

    Asegúrate de que la ruta DocumentRoot sea la correcta según tu instalación de XAMPP.

  3. Verifica el archivo hosts
    Abre el archivo hosts (en C:\Windows\System32\drivers\etc\hosts) como administrador y confirma que la línea base para localhost sigue existiendo y no ha sido movida o modificada. Debería verse así:
    127.0.0.1 localhost

  4. Reinicia Apache
    ¡Este paso es crucial! Los cambios en la configuración de Apache no surten efecto hasta que se reinicia el servicio.

    • Ve al Panel de Control de XAMPP.

    • Detén el módulo de Apache.

    • Inícialo de nuevo.

Resultado
Ahora, al escribir localhost en el navegador, volverás a ver el listado de carpetas dentro de htdocs o el dashboard de XAMPP. Y para acceder a tu proyecto específico (arabel), deberás usar la URL del dominio virtual que creaste, por ejemplo: proyecto-arabel.test.

Conclusión:
Siempre que agregues un nuevo dominio virtual, recuerda definir primero el de localhost para evitar que "herede" la configuración de otro proyecto. Este pequeño ajuste te ahorrará muchos dolores de cabeza.

Comentarios

Entradas más populares de este blog

crear controladores separados para API y Web

Laravel tanto para web como para API al mismo tiempo.

Creación de una API RESTful con Laravel (sin autenticación)