
У меня есть следующая конфигурация в 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. Понимание этого было бы оценено.