Hola:
No entiendo eso de redirigir dos veces... La redirección sería con un meta redirect y un enlace.
Lo que me resulta incómodo es tener que poner o quitar el protocolo a mano...
La idea es considerar la página con:
// $p = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$p = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
y en el control:
//$p = $_SERVER["HTTP_REFERER"];
$p = str_replace("http://", "", $_SERVER["HTTP_REFERER"]);
No sé si habrá forna de obtener el protocolo, y evitar usar cadenas "literales".
Saludos