Перезапись и возврат Nginx мешают работе другого блока location

Перезапись и возврат Nginx мешают работе другого блока location

У меня есть следующая конфигурация в nginx для перенаправления в определенном сценарии.

location /prefix-someurl {
   if (condition) {
            return 301 $scheme://$host/xyz.html;
   }
   proxy_pass someValue;
}

и в другом блоке есть некоторые правила переписывания, такие как это

location /someurl {
   if (condition) {
            rewrite ^(.*)abc(.*)$ $1test/abc$2 break;               
            rewrite ^(.*)someurl/$(.*) $1someurl/test/index.html$2;

   }
   proxy_pass value;
}

Вышеуказанная конфигурация работает так, как и предполагалось. Однако, если для последнего я внесу эту модификацию;

location /someurl {
   if (condition) {
            return 301 $scheme://$host/xyz.html;
   }
   if (condition) {
            rewrite ^(.*)abc(.*)$ $1test/abc$2 break;               
            rewrite ^(.*)someurl/$(.*) $1someurl/test/index.html$2;

   }
   proxy_pass value;
}

Я получаю слишком много ошибок перенаправления при доступе/prefix-someurl.Если я изменю /someurlна следующее, ошибка исчезнет;

location /someurl {
  if (condition) {
        return 301 $scheme://$host/xyz.html;
  }    
  proxy_pass value;
}

Я не могу понять, почему изменение /someurlвлияет на /prefix-someurl. Или я что-то упускаю относительно оценки перезаписи nginx. Понимание этого было бы оценено.

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