Capturar o subdomínio e transmiti-lo como argumento de consulta é bastante fácil.
test.server.com - > server.com/resolve.php?sub=test
server {
listen 80 default;
server_name ~^(?<sub>.+)\.server\.com$;
rewrite ^ http://www.server.com/resolve.php?sub=$sub
}
Essencialmente, use uma captura regex nomeada para atribuir o subdomínio a uma variável e, em seguida, passe essa variável como um parâmetro de consulta para o seu redirecionamento.
Redirecionar e manter o mesmo nome_do_servidor implicaria essencialmente sobrepor a atribuição padrão de SERVER_NAME $server_name
que o nginx faz (em seu fastcgi_params). A dificuldade seria passar o nome do subdomínio entre os blocos do servidor.