Подтвердить что ты не робот

Выполнение параметра проверки nginx в URL-адресе

Я хочу проверить, присутствует ли параметр в url в nginx, а затем переписать. Как я могу это сделать?

Например, если url http://website.com/?mobile, то перенаправить пользователя на http://m.website.com

4b9b3361

Ответ 1

Лучше использовать http://example.com/?mobile=1 (аргумент со значением). В этом случае проверка проста:

if ($arg_mobile) {
    return 302 http://m.example.com/;
}

Проверка существования аргумента обычно выполняется с помощью регулярного выражения типа if ($args ~ mobile), но оно подвержено ошибкам, поскольку оно будет соответствовать mobile в любом месте, например. http://example.com/?tag=automobile.