2011-12-01 13 views
5

Tengo una aplicación PHP basada en CodeIgniter. Tengo una gran proporción del sitio web (la carpeta del sistema para cualquiera que conozca CodeIgniter) debajo de Document Root.No se puede acceder a los archivos PHP que se encuentran fuera de la raíz del documento de un sitio nginx

Aquí es la conf Nginx para el sitio web

server { 
server_name www.domain.local; 
root /var/www/html/domain/frontend; 
include /etc/nginx/conf.d/ci_vhost; 
} 

Aquí está el la carpeta que estoy teniendo problemas tratando de acceder a la /var/www/html/ci/2.0.2/system

con Apache, nunca he tenido problemas para acceder a los archivos php por debajo de la raíz del documento .

¿Alguien sabe por qué estoy experimentando este problema con Nginx?

Gracias.

Respuesta

5

Puede acceder a cualquier carpeta en su servidor y simplemente tiene que configurar nginx en consecuencia utilizando las directivas "alias" o "raíz", las cuales se pueden definir múltiples veces dentro de bloques específicos.

server { 

    # Default root 
    root /var/www/html/domain/frontend; 

    location /abc 
     # Uses default root 
     ... 
    } 

    location /xyz 
     # defines it's own root 
     root /var/www/some/folder; 
     ... 
    } 

    location /123 
     # aliases to another folder 
     alias /etc/some/folder; 
     ... 
    } 

    location/
     # Uses default root 
     ... 
    } 

} 

Lea sobre la diferencia entre alias y root

para PHP, usted tendrá que considerar open_basedir restricciones.

Cuestiones relacionadas