Ou sem usar o mal se:
server {
server_name ~^(.*)\.example\.com$;
return 301 $scheme://www.newdomain.example/categories/$1$request_uri;
}
como $ request_uri já contém a string de consulta / os argumentos, consulte o link
e eu também quero mencionar o par $ is_args $ args, quando você não quer usar $ request_uri
location = /from {
return 301 /to$is_args$args;
}