Nginx перенаправляет, если не хост, а если не запрашивает uri

Может ли кто-нибудь понять, почему следующие инструкции Nginx if не работают

if ($host != subdomain.mydomain.com) {
    set $test  A;
}

if ($request_uri != /.well-known/acme-challenge/(.*?)) {
  set $test  "${test}B";
}

if ($test = AB) {
  rewrite ^/(.*) https://www.anotherdomain/$1 permanent;
  break
}

На английском языке, если хост не является subdomain.mydomain.com, а URI запроса не является /.well-known/acme-challenge/*, тогда я хочу, чтобы он перенаправлялся на другой домен.


person goose84    schedule 07.09.2019    source источник


Ответы (1)


В конце концов, у меня сработал следующий код

if ($host != subdomain.mydomain.com) {
    set $test  A;
}

if ($request_uri !~ /\.well-known) {
      set $test  "${test}B";
}

if ($test = AB) {
  rewrite ^/(.*) https://www.anotherdomain/$1 permanent;
  break
}
person goose84    schedule 07.09.2019