Nginx перенаправить несколько строк запроса URL
Я хочу перенаправить URL-адрес в другую папку на том же веб-сайте. Каждый URL имеет строку запроса, поэтому простой возврат 301 не работает.
Пример перенаправления хочу.
example.com/th/?n=abc 301 to example.com/thh/?n=abc
example.com/th/?n=xyz 301 to example.com/thh/?n=xyz
После поиска решения я нашел решение, которое работает только для первого URL.
location ~ /th/ {
if ($args ~* "^n=abc") {
set $mid $1;
rewrite ^.*$ https://example.org/thh/$mid permanent;
}
}
Но если я создаю то же правило для строки запроса XYZ, правило перенаправления работает.
location ~ /th/ {
if ($args ~* "^n=xyz") {
set $mid $1;
rewrite ^.*$ https://example.org/thh/$mid permanent;
}
}
Второе правило не работает, только первое работает. Я думал, что может быть середина вар перезаписывается по первому правилу. Я поменял вар на банку, но она не работает.
Может кто-нибудь, пожалуйста, помогите найти решение для этого. Я не хочу перенаправлять всю папку в thh.