Al final, he hecho un apaño aunque no me acabe de gustar.
Código PHP:
// funcion que devuelve la url actual sin el script
function getURLBase()
{
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$resultado = substr_replace($url, "", strpos($url, "dispatch"));
return $resultado;
}
En mi caso me vale porque utilizo un dispatcher por el que pasan todas las peticiones. Se me ocurre que para que funcionara para todos los casos, habría que utilizar expresiones regulares para detectar el php actual.
Saludos