Я хочу проверить, присутствует ли параметр в url в nginx, а затем переписать. Как я могу это сделать?
Например, если url http://website.com/?mobile, то перенаправить пользователя на http://m.website.com
Ответ 1
Лучше использовать http://example.com/?mobile=1 (аргумент со значением). В этом случае проверка проста:
if ($arg_mobile) {
return 302 http://m.example.com/;
}
Проверка существования аргумента обычно выполняется с помощью регулярного выражения типа if ($args ~ mobile), но оно подвержено ошибкам, поскольку оно будет соответствовать mobile в любом месте, например. http://example.com/?tag=automobile.