Sé que esta es una publicación anterior, pero otra solución sería usar cURL, por ejemplo:
redirect.php:
<?php
if (isset($_GET['url'])) {
$url = $_GET['url'];
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
}
luego en su etiqueta de iframe, algo como:
<iframe src="/redirect.php?url=http://www.example.com/"></iframe>
Este es solo un ejemplo MÍNIMO para ilustrar la idea: no desinfecta la URL ni evitará que otra persona use el redirect.php para sus propios fines. Considere estas cosas en el contexto de su propio sitio.
La ventaja, sin embargo, es que es más flexible. Por ejemplo, puede agregar alguna validación de los datos $ curl'd para asegurarse de que es realmente lo que desea antes de mostrarlo; por ejemplo, pruebe para asegurarse de que no sea un 404 y tenga contenido alternativo propio si está es.
Además, estoy un poco cansado de confiar en los redireccionamientos de JavaScript para cualquier cosa importante.
¡Salud!