Ottengo su entrambi lo stesso risultato, ovvero:
codice:
fragment per la url http://localhost/cartella/prova.php#prova=2 : 1 
fragment per la url http://localhost/cartella/prova.php : 1
Se però cambio:
Codice PHP:
$url "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]$a"
in:
Codice PHP:
$url "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]#prova=2"
ottengo il risultato:
codice:
fragment per la url http://localhost/cartella/prova.php#prova=2 : 2
Visto questo direi che è $a il problema:
Codice PHP:
$a '<script>document.write(location.hash.substring(0));</script>'
Come posso correggere?