Post actualizado el día octubre 29, 2026 by DeiviSanzPlay
La semana pasada preparaba una demo para un cliente. Tenía el proyecto terminado, funcionando en local, y necesitaba enseñarlo desde el navegador en menos de veinte minutos. Abrí XAMPP, arranqué Apache, copié la carpeta a htdocs y escribí la URL. Error 404. Volví a copiar, revisé la ruta, reinicié el servicio. Nada. El problema con XAMPP agregar proyecto nuevo htdocs no era el proceso en sí: era que había pegado la carpeta dos niveles más abajo de lo que Apache esperaba.
Ese es el fallo más común y el que menos aparece en los tutoriales. La gente arrastra la carpeta del proyecto entera, con su subcarpeta interna, y Apache sirve desde la raíz de htdocs. Resultado: la ruta real queda enterrada y el navegador no la encuentra.
Por qué la carpeta termina en el sitio equivocado
Cuando descargas un proyecto desde un repositorio o lo recibes comprimido, suele venir envuelto en una carpeta contenedora. Al descomprimir dentro de htdocs, esa carpeta extra se convierte en un nivel más de profundidad. La URL que deberías escribir cambia sin que te des cuenta.
En mi caso, el proyecto estaba en C:xampphtdocsproyecto-clienteapppublic. Apache servía desde htdocs, así que la URL correcta era localhost/proyecto-cliente/app/public, no localhost/proyecto-cliente. Perdí quince minutos probando variantes antes de abrir el explorador de archivos y ver la estructura real.
La solución fue mover los archivos públicos un nivel arriba o ajustar la configuración del host virtual. Para un proyecto pequeño, lo más rápido es dejar solo lo necesario dentro de la carpeta del proyecto en htdocs.
Permisos y nombres con espacios: el segundo tropiezo
Otro escenario que vi en un equipo doméstico: el usuario había nombrado la carpeta «Mi Proyecto Web». Apache y las rutas con espacios no siempre se llevan bien, sobre todo cuando se combinan con archivos .htaccess y reglas de reescritura. El proyecto cargaba a medias y los enlaces internos daban 404.
Renombrar la carpeta a mi-proyecto-web resolvió el problema de inmediato. No es una regla absoluta, pero en XAMPP sobre Windows los espacios en rutas añaden una capa de complejidad que no compensa. Para añadir un proyecto nuevo a htdocs, usa nombres sin espacios ni caracteres especiales.
Los permisos también importan si trabajas en Linux o macOS. Si la carpeta no tiene los permisos de lectura adecuados para el usuario de Apache, el servidor devuelve un 403 en lugar de un 404. Ese matiz cambia el diagnóstico por completo.
El caso del puerto ocupado que parecía un error de ruta
Un compañero juró que su proyecto no aparecía en htdocs. Llevaba una hora revisando carpetas. El problema real era que Apache no había arrancado porque el puerto 80 estaba ocupado por otro servicio. XAMPP mostraba el módulo en verde a veces y en rojo otras, pero él solo miraba el navegador.
Antes de tocar nada en htdocs, comprueba que Apache esté corriendo de verdad. Si el puerto 80 choca con Skype, IIS o algún servicio de Windows, cambia el puerto de escucha en httpd.conf o detén el otro proceso. Yo suelo usar el puerto 8080 para evitar conflictos en equipos compartidos.
Añadir un proyecto nuevo a htdocs no sirve de nada si el servidor no está escuchando. Suena obvio, pero en la práctica se pasa por alto con frecuencia.
Cuándo htdocs no es la mejor opción
Para proyectos personales pequeños, meter la carpeta en htdocs es rápido y suficiente. Para algo más serio, con varios dominios locales o rutas que no quieres exponer, los host virtuales son mejores. Configurar un VirtualHost en httpd-vhosts.conf y editar el archivo hosts te da una URL limpia tipo mi-proyecto.local.
Esto no funciona bien si cambias de equipo constantemente y no quieres replicar la configuración cada vez. En ese caso, htdocs sigue siendo la vía más directa, aunque menos elegante. La documentación oficial de Apache cubre los VirtualHost con detalle; merece la pena leerla antes de improvisar.
Mi recomendación tras varios tropiezos: antes de copiar nada, abre el explorador, confirma la ruta exacta de la carpeta y comprueba que Apache está activo. XAMPP agregar proyecto nuevo htdocs es sencillo cuando la estructura está clara; el problema casi nunca es XAMPP, es lo que asumimos sobre dónde quedaron los archivos.
Perfiles verificables: Sitio web
Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.