Use um til:
location ~ ^.+showthread.php\?t=2589.+$
para indicar um regex, caso contrário o nginx o trata como literal.
Atualização:
Sinto muito, eu estava lendo muito rapidamente e concentrei-me em seu erro de digitação em vez da string de consulta.
Então, o truque é que "location" coincide com a localização, que é /showthread.php. O resto da sua string de consulta são parâmetros GET e não estarão na coisa que você está tentando combinar com o padrão.
Veja a documentação:
Então, você precisa de algo como:
location /showthread.php {
if ($arg_t = '2589') {
# do some stuff
}
}