Chcę podać główny adres URL subdomeny i katalogu subdomeny do dwóch różnych folderów na moim serwerze. Oto prosta konfiguracja, którą mam i nie działa ...
server {
index index.html index.htm;
server_name test.example.com;
location / {
root /web/test.example.com/www;
}
location /static {
root /web/test.example.com/static;
}
}
W tym przykładzie zamiar test.example.com/
przyniósłby plik indeksu/web/test.example.com/www
i zamiar test.example.com/static
przyniesie plik indeksu/web/test.example.com/static
alias
. Przeczytaj oficjalne dokumenty , a nie wiki społeczności wypełnione przez użytkowników. Cytat: Gdy lokalizacja odpowiada ostatniej części wartości dyrektywy, lepiej użyć dyrektywy głównej .System dyrektywy lokalizacji to
Jak chcesz przesłać wszystkie żądania, które się rozpoczynają
/static
i Twoje dane są w nim zawarte/var/www/static
Oznacza to, że prosta metoda jest oddzielana ostatni folder od pełnej ścieżki, co oznacza
Pełna ścieżka :
/var/www/static
Ostatnia ścieżka:
/static
i pierwsza ścieżka:/var/www
Zobaczmy więc, co pomyliłeś i jakie są twoje rozwiązania
Twój błąd :
Twoje rozwiązania:
źródło
http://nginx.org/r/root
źródło
root /web/test.example.com;
zamiastroot /web/test.example.com/static;
. nginx mapuje ścieżkę określoną przez lokalizację do drzewa katalogu, a ponieważ ścieżka i katalog źródłowy mają tę samą nazwę, to działa zroot
.