Credo che tu abbia previsto il redirect solo se il valore di pagina in querystring è "p1"
Per rendre il tutto veramente dinamico dovresti modificare così.
<?php
$query = $_GET["pagina"];
$data = date("d/m/Y");
$ora = date("H:i:s");
$ip = $REMOTE_ADDR;
save();
header("Location: http://www.tuosito.com/" . $query . ".htm");
function save ( ) {
global $query,$data,$ora,$ip;
$textfile = fopen("test.txt", "a");
$dati_riga = "$query|$data|$ora|$ip\n";
fwrite($textfile,$dati_riga);
fclose($textfile);
}
?>