2011-12-01 14 views
5

Mam aplikację PHP zbudowaną na CodeIgniter. Mam dużą część witryny (folder systemowy dla każdego, kto zna CodeIgniter) znajdującą się poniżej katalogu głównego dokumentu.Nie można uzyskać dostępu do plików PHP poza katalogiem głównym witryny nginx.

Oto conf Nginx na stronie

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

Oto folder Mam problemy próbuje uzyskać dostęp /var/www/html/ci/2.0.2/system

z Apache, nigdy nie miałem problemów z dostępem do plików php poniżej głównego dokumentu .

Czy ktoś wie, dlaczego mam ten problem z Nginx?

Dzięki.

Odpowiedz

5

Można uzyskać dostęp do dowolnego folderu na serwerze i wystarczy odpowiednio skonfigurować nginx za pomocą dyrektyw "alias" lub "root", które można zdefiniować wiele razy w określonych blokach.

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 
     ... 
    } 

} 

Czytaj się na różnicy pomiędzy alias i root

dla PHP, trzeba będzie rozważyć open_basedir ograniczeń.

Powiązane problemy