Я ищу, чтобы корневой URL субдомена и каталог субдомена находились в двух разных папках на моем сервере. Вот простая настройка, которая у меня есть и не работает ...
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;
}
}
В этом примере test.example.com/
будет приведен файл индекса в/web/test.example.com/www
и собирается test.example.com/static
принести файл индекса в/web/test.example.com/static
alias
. Пожалуйста, прочитайте официальные документы , а не вики сообщества, заполненные пользователями. Цитата: Когда location соответствует последней части значения директивы, лучше использовать корневую директиву .Система директив местоположения
Как вы хотите переслать весь запрос, который начинается,
/static
и ваши данные присутствуют в/var/www/static
Таким образом, простой метод отделяет последнюю папку от полного пути, что означает
Полный путь :
/var/www/static
Последний путь:
/static
и Первый путь:/var/www
Итак, давайте посмотрим, в чем вы ошиблись и каковы ваши решения
Ваша ошибка :
Ваши решения:
источник
http://nginx.org/r/root
источник
root /web/test.example.com;
вместоroot /web/test.example.com/static;
. nginx отображает путь, указанный в location, в дерево директорий, и, поскольку путь и исходный каталог имеют одно и то же имя, он работает с нимroot
.