Foros del Web » Programando para Internet » PHP »

Include fuera del Document_root

Estas en el tema de Include fuera del Document_root en el foro de PHP en Foros del Web. Hola, Estoy teniendo un problema que no sé como resolverlo y he estado buscando por Google pero no doy con la solución. Pongo mi caso ...
  #1 (permalink)  
Antiguo 10/04/2012, 16:50
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Include fuera del Document_root

Hola,

Estoy teniendo un problema que no sé como resolverlo y he estado buscando por Google pero no doy con la solución.

Pongo mi caso como ejemplo.
Tengo el dominio1 apuntando a la carpeta /var/www/vhosts/dominio1.com/httpdocs/AQUI LA WEB

y tengo el dominio2 apuntando a la carpeta /var/www/vhosts/dominio1.com/httpdocs/webs/dominio1/AQUI LA WEB.

El problema es que no puedo incluir archivos de la ruta /var/www/vhosts/dominio1.com/httpdocs/INCLUDES en el dominio2 porque se me queda como http://dominio2.com/var/www..., etc.

En el archivo config.php en la carpeta del dominio2 tengo esto:

Código PHP:
Ver original
  1. define("ABSPROTECMS","/var/www/vhosts/dominio1/httpdocs/");
  2.     define("ABS","/var/www/vhosts/dominio1/httpdocs/webs/dominio2/");
  3.     define("INCLUDES","/var/www/vhosts/dominio1/httpdocs/includes/");
  4.     define("CSSADMIN","/var/www/vhosts/dominio1/httpdocs/css/administracion/");
  5.     define("IMGADMIN","/var/www/vhosts/dominio1/httpdocs/css/administracion/imagenes/");

Y para llamar por ejemplo al archivo CSS que está en la carpeta base del dominio1.com/css/administracion/ARCHIVO.CSS uso href="<?php echo CSSADMIN. "ARCHIVO.CSS"; ?>", pero como he explicado antes, no me lo detecta.

¿Cómo lo podría hacer?
Gracias de antemano.
__________________
@JaimeMSE - ¡Sígueme!
  #2 (permalink)  
Antiguo 10/04/2012, 17:21
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Include fuera del Document_root

Estoy mirando por este mismo foro, que se me acaba de ocurrir la consulta "include otro dominio mismo servidor" y dicen que no se puede por cuestiones de seguridad.

Entonces, ¿cómo me recomendáis que reutilice clases para distintos dominios? No quiero tener por ejemplo 20 dominios, y, a la hora de modificar algo, tener que modificar 20 archivos.

Gracias de nuevo.
__________________
@JaimeMSE - ¡Sígueme!
  #3 (permalink)  
Antiguo 11/04/2012, 13:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Include fuera del Document_root

Tienes que entender dos cosas, una cosa es el sistema de archivos y otra cosa es un URL, con PHP puedes perfectamente incluir archivos dentro del sistema de archivos (siempre y cuando tengas permisos y no este la directiva open_basedir).

Ahora otra cosa es una URL, y los archivos que cargas por ejemplo en el <link> o en un <a> todos esos son URL por lo que NO puedes cargar archivos fuera del document_root ya que esa es la raiz del URL en tu servidor.

Lo que tienes que hacer es cargarlos usando el dominio completo (usando http://) para el path, ya que el browser no puede navegar por el sistema de archivos de tu dominio, solamente por la URL que es accesible desde el navegador.

Saludos.
  #4 (permalink)  
Antiguo 11/04/2012, 14:00
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Include fuera del Document_root

Hola GatorV,

Gracias por responderme.

Entonces, puedo tener clases en una carpeta fuera de la base de los dominios e incluirlas, pero, por ejemplo, archivos CSS no, ¿cierto?
__________________
@JaimeMSE - ¡Sígueme!

Etiquetas: linux, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:23.