На Apache вы можете ProxyPass все, кроме одного или нескольких подкаталогов (с знаком "!").
ProxyPass /subdir !
ProxyPass / http://localhost:9999/
Что такое эквивалент Nginx?
Мое первое предположение явно не работает:
location /subdir {
root /var/www/site/subdir;
}
location / {
proxy_pass http://localhost:9999/ ;
}
Вы можете привязать proxy_pass ТОЧНО к тому пути, который вам нравится, например
location = / {
proxy_pass http://localhost:9999/;
}
Это гарантирует, что не будет пройден другой путь, кроме /
ИЛИ
вы можете использовать этот синтаксис только для сопоставления подкаталогов
location ^~ /subdir {
alias /var/www/site/subdir;
}
location / {
proxy_pass http://localhost:9999/ ;
}
В ^~
соответствует вложенному каталогу, а затем прекращает поиск, поэтому /
не будет выполнен. Описано Вот.