Текущий конфиг nginx у меня выглядит так:
server {
listen 80;
server_name mydomain.com;
root /home/myname/some_app/public;
location / {
try_files $uri @some_named_location;
}
location /sub {
root /home/myname/other_app/public;
try_files $uri @other_named_location;
}
}
Я ожидаю, что mydomain.com/sub/xxx
будет обслуживаться /home/myname/other_app/public/sub/xxx
, но вместо этого /home/myname/some_app/public/sub/xxx
. Что здесь не так?
Я также попытался использовать alias
вместо root
в блоке местоположения /sub
:
location /sub {
alias /home/myname/other_app/public;
try_files $uri @other_named_location;
}
Тогда я ожидаю, что mydomain.com/sub/xxx
будет обслуживаться /home/myname/other_app/public/xxx
, но все же он будет обслуживаться /home/myname/some_app/public/sub/xxx
.
Я даже пытался переместить директиву root
серверного блока в блок /
.
server {
location / {
root /home/myname/some_app/public;
try_files $uri @some_named_location;
}
location /sub {
root /home/myname/other_app/public;
try_files $uri @other_named_location;
}
}
Но все равно не работает.