Wanton escribió:[...]
El error te lo da, si no me equivoco, porque PHP no permite el uso de 'header("Location: X");' si ya se ha enviado cualquier otra cosa antes (incluso mandando solo la obertura del tag <html> ya te daría error). ¿La solución? ponerlo antes de cualquier otro código que pueda ser interpretado por un navegador:
<?php
if(substr_count($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0'))
{
header ("Location: index2.php");
}
?>
<html>
<head>
<title>Prueba</title>
</head>
<body>
-----
</body>
</html>
Si no me equivoco así sí que se solucionaría, y queda mucho más limpio (a mi parecer) que usar el '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index2.php">'. Además, el uso del Meta Refresh (y más aun si es de 0 segundos) puede ser motivo de que Google no indexe tu página en su buscador o que la ponga en blacklist, a menos que se informe al usuario de que se va a efectuar una redirección. Usando el Header Location no se tiene ese problema
PD: Hace tiempo que no toqueteo el diseño web, pero creo que no voy mal encaminado
EDIT: De todos modos, la solución "más limpia" es la que propone
Ncoola:
css de la web
<!--[if IE 6]>
css especifico para ie6 (puedes sobreescribir IDs y clases que hayas declarado en el css normal de la web)
<![endif]-->