Das Umschreiben und Zurückgeben von Nginx stört den Block mit unterschiedlichem Standort

Das Umschreiben und Zurückgeben von Nginx stört den Block mit unterschiedlichem Standort

Ich habe die folgende Konfiguration in Nginx für die Umleitung in einem bestimmten Szenario.

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

und in einem anderen Block gibt es einige Umschreibregeln wie diese

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

   }
   proxy_pass value;
}

Die obige Konfiguration funktioniert wie vorgesehen. Wenn ich jedoch für Letzteres diese Änderung vornehme:

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;
}

Ich erhalte zu viele Umleitungsfehler beim Zugriff auf/prefix-someurl.Wenn ich das wie folgt ändere, /someurlverschwindet der Fehler;

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

Ich verstehe nicht, warum sich Änderungen /someurlauf auswirken /prefix-someurl. Oder übersehe ich etwas bezüglich der Auswertung von Nginx-Rewrites? Ich wäre für eine Einsicht in diese Sache dankbar.

verwandte Informationen