
Utilizo la ruta relativa raíz para todos los enlaces en archivos PHP, como "url(/img/myimj.jpg)"
En el servidor host de Godaddy, eso funciona bien.
Pero quiero ejecutarlo en mi host local. (Ubuntu 9, Apache 2, PHP 5)
Por ejemplo, tengo mi sitio almacenado en var/www/siteone, otro almacenado en var/www/sitetwo,
y el directorio raíz está configurado en "var/www".
Ahora el problema es que href="/" no está vinculado a var/www/siteone, sino a var/www/.
¿Hay alguna manera de definir diferentes raíces de documentos para diferentes sitios?
Soy un principiante en desarrollo web y no estoy seguro de si Virtual Host puede hacerlo.
¿Alguien podría explicarlo?
Gracias por tus respuestas.
Necesito agregar un nuevo vitualhost a este archivo /etc/apache2/sites-available/default
Pero todavía estoy confuso, ¿cómo hacerlo para localhost? La IP y el puerto predeterminados son siempre 127.0.0.1:80
Respuesta1
Cada <VirtualHost>
sección puede tener su propia DocumentRoot
directiva.
Respuesta2
Yo personalmente uso mucho VirtualDocumentRoot:
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot
Con esta directiva, puedes hacer por ejemplo:
VirtualDocumentRoot /var/www/%-2/%-3/
%-2 es el "segundo elemento desde la derecha", por lo que es un ejemplo en exemple.com.
%-3 es el tercer elemento desde la derecha, por lo que es foo en foo.exemple.com.
Luego solo tienes que crear carpetas que coincidan con tus nombres de host:
localhost/ será:
/var/www/localhost/_/
Observe el _ donde no hay valor (siempre hago un enlace simbólico como _ -> www)
Entonces
www.site1.com será /var/www/site1/www/
www.site2.com será /var/www/site2/www/
localhost será /var/www/localhost/_/
entonces diviértete con los enlaces simbólicos :-)