Hola,
se que cuando se usa "header(Location:...)" no puede haber nada (ni html ni nada) antes de esa línea. He migrado una web de un cliente a mi servidor, y tiene la instrucción header(...) dentro de la etiqueta body, por lo que falla ya que dice que ya se han enviado los encabezados (lógico).
Lo no tan lógico es que sin tocar nada, ese código funciona perfectamente en su servidor (se redirecciona correctamente sin error alguno), por lo que supongo que debe haber algún parámetro de php o algo para indicar que obvie todo lo anterior si se encuentra una redirección mediante header(...).
¿Alguien sabe cómo puede hacerse eso?
Para que os hagais una idea, este es el código que, sin tocarlo, funciona bien en su servidor y en el mio da error de "Bad headers, etc...".
Código PHP:
<--linea del doctype-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Título de la página</title>
</head>
<body>
<?php
$location="es/presentacion.html";
header("Location: $location");
?>
</body>
</HTML>