Simular dominio en localhost con Apache
Una cosa que siempre me ocurre cuando estoy trabajando en mis propios proyectos, es que me creo una carpeta para cada uno de los proyectos dentro del raÃz (root) y no puedo usar paths absolutos ya que en el servidor real no usaré ese directorio.
Por ejemplo, estoy creando un nuevo proyecto llamado proyecto1 y para trabajar en local tengo la ruta siguiente: http://localhost:8080/proyecto1, pero cuando lo suba al servidor, será http://proyecto1.com. Voy a tener problemas si quiero usar los paths sean absolutos (“/imagenes/fondo.png”), porque en local deberÃa tener antes el directorio del proyecto (“/proyecto1/imagenes/fondo.png”). Lógicamente, no puedo estar trabajando con paths relativos y luego pasarlos a absolutos cuando lo suba al servidor, puedo liar una buena.
¿Qué solución me queda?, pues una de ellas es la que uso desde hace tiempo, quizás no la más limpia, pero si es bastante sencilla.
Primero tengo que acceder al fichero hosts, que suele encontrarse en la ruta C:\windows\system32\drivers\etc, y añadir la siguiente lÃnea:
127.0.0.1 proyecto1
Con esto lo que conseguimos es que se reconozca el dominio proyecto1 como nuestra propia máquina (127.0.0.1).
Y lo siguiente que tenemos que hacer es modificar el fichero de configuración de Apache (httpd.conf) e incluir el nuevo host.
NameVirtualHost proyecto1:8080
<VirtualHost proyecto1:8080>
DocumentRoot "C:/proyectos/proyecto1"
ServerName proyecto1
</VirtualHost>
<Directory "C:/proyectos/proyecto1">
Allow from all
</Directory>