Pero con el metodo de Cluster no haces una redireccion (si es que le entendo bien). Simplemente el script seria capaz de leer la pagina devuelta por la pagina remota. Pero todo el tema de cookies no se pasaria al cliente.
Buceando por la documentacion de HTTP, he revisado que significan las redirecciones y como se supone que deben reaccionar los navegadores. En principio depende de cada navegador. Pero se supone que si se puede hacer una redireccion y que la pagina destino reciba los parametros en POST.
Para las pruebas he usado estos 3 ficheros:
1.php
Código PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<form name="1" action="2.php" method="POST">
<input type="text" name="pp">
<input type="submit" name="submit" value="enviar">
</form>
</body>
</html>
2.php
Código PHP:
<?php
header("HTTP/1.1 307 Temporary Redirect");
header("Location: 3.php");
?>
3.php
Código PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<pre>
<?php
print_r($_POST);
?>
</pre>
</body>
</html>
Y he hecho las pruebas en 2 navegadores: IE 5.0 y Mozilla 1.4.
El IE lo hace "perfecto", redirecciona y muestra en 3.php los valores del $_POST.
El Mozilla lo hace "correcto", al redireccionar sale un dialogo de "Se ha producido una redireccion a una nueva pagina. ¿Desea enviar los datos a esa nueva pagina? Si / No", dando la opcion al usuario a cancelar el envio de datos.
La especificacion del primer header es para especificar el status devuelto por el servidor web como redireccion temporal. Si no lo especificamos, segun el manual el Location añade un status 302, que segun pruebas (quitando el primer header de 2.php), no propaga las variables POST.
Si es posible que alguien pruebe los tres ficheros anteriores en navegadores y versiones distintas a las que he puesto, y nos comente los resultados.
Espero haber sido de ayuda.
Suerte.
PD: He obtenido el mismo resultado poniendo en el Location una URL de otro dominio.