URL перенаправления Nginx с параметрами

Я безуспешно искал по такому количеству тем, может, вы мне поможете.

Я пытаюсь перенаправить эту ссылку https://www.example.com/page/5/?s=gluten на https://www.example.com/gluten_specificarticle

Я пытался использовать решение для карт, но оно не работает

map $arg_s $mypage {
    gluten /specificlink;
}

В ссылке есть 2 переменные: "5" для страницы и "? S = глютен" для аргумента поиска.

Спасибо за любую помощь

1 ответ

В $request_uriпеременная содержит весь URI, включая строку запроса. Вам нужно будет использовать if блок для проверки условия.

Всего для одного перенаправления вы можете использовать:

if ($request_uri = "/page/5/?s=gluten") { 
    return 301 /gluten_specificarticle; 
}

Если у вас есть несколько перенаправлений, используйте map:

map $request_uri $redirect {
    /page/5/?s=gluten    /gluten_specificarticle; 
}
server {
    ...
    if ($redirect) {
        return 301 $redirect;
    }
    ...
}

См. Этот документ для подробностей. См. Это предупреждение об использовании if.

Другие вопросы по тегам