nginx разрешает (направляет) все на другой IP, за исключением определенного файла и подкаталога

nginx разрешает (направляет) все на другой IP, за исключением определенного файла и подкаталога

Я уже задавал аналогичный вопрос на StackOverflow, но думаю, что этот раздел для этого более уместен.

Сейчас у меня есть один блог о путешествиях, и в этом блоге у меня есть whitelabel для билетов/бронирования.

Сайт whitelabel по сути является поддоменом, указывающим на домен-псевдоним

Допустим, мой веб-сайт — mytravelblog.comэто whitelabel whitelabel.otheragency.com, и он указывает на мой поддомен, который находится в подпапке, поэтому

mytravelblog.com/ticketsоткрывается whitelabel.otheragency.com, но я хочу сейчас переключиться на свой whitelabel, чтобы он стал основным сайтом, но проблема в том, что они не предоставляют robots.txt, поэтому мне придется доставить его и сохранить на своем хостинге, а также я хочу сохранить свой блог, но просто переместить его в подпапку.

Итак, whitelabel предоставляет мне 2 способа доступа к их whitelabel whitelabel.otheragency.comи разрешения их IP-адреса.

Могу ли я каким-то образом сделать перенаправление или настроить прокси-сервер, чтобы разрешить все, что находится в whitelabel на моем основном домене, но все, что находится в подкаталоге blog, на моем размещенном блоге и robots.txtв моем размещенном файле robots.txt?

Вот так и должно быть

mytravelblog.comоткрыт whitelabel.otheragency.com, но все еще под моим доменом mytravelblog.com/ticketsоткрыт whitelabel.otheragency.com/ticketsи так для остальных подпапок

mytravelblog.com/blogоткрываю свой блог, который находится на моем хостинге, и любые другие подпапки mytravelblog.com/blog/10-most-beautiful-beaches, чтобы открыть запись в блоге, mytravelblog.com/sitemap.xmlоткрываю свою сгенерированную карту сайта, которую я также размещаю, mytravelblog.com/robots.txtоткрываю свой сгенерированный файл robots.txt.

решение1

Возможно, вы ищете что-то вроде этого:

location / {
    ... other proxy_pass settings ...
    proxy_pass http://whitelabel.otheragency.com;
}

location = /robots.txt {
    try_files $uri =404;
}

location = /sitemap.xml {
    try_files $uri =404;
}

location /blog {
    try_files /path/to/front_controller =404;
}

Связанный контент