Hi,
Nimm doch einfach $_SERVER['QUERY_STRING'], das liefert dir genau das, was der Browser aufgerufen hat (ohne den Host-Teil, also /?foo=bar bei http://example.com/?foo=bar. Aber das reicht ja).
Nein - das liefert foo=bar und selbst mit Fragezeichen würde es nur dann reichen, wenn es sich um die Index-Datei handelt.
$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING']
liefert die gewünschte URL.
freundliche Grüße
Ingo