Codice PHP:
$url="prova.php"//in realtà viene assegnato dinamicamente il valore, qui ne metto 1, per farvi capire
$redirect basename($url,".php");
header ('Location: index.php?site=$redirect'); 
Il problema è che questo codice fa da redirect a www.sito.it/index.php?site=$redirect (che ovviamente non esiste)

invece dovrebbe farlo a: www.sito.it/index.php?site=prova

In pratica nell'header utilizza $redirect e non il suo valore (cioè prova). Come posso ovviare al problema?

grazie, ciao!