He visto varios temas de las redirecciones en php usando header, y he estado probando con un servidor y demás por lo que he llegado a las siguientes conclusiones.
Para utilizar header para redireccionar, debes tener lo siguiente.
- Usar require_once.
- No lanzar excepciones.
- El uso de exit al cierre.
Si utilizas require no funciona header, pero usamos require_once en su lugar que hace lo mismo. Las librerías que incluyas no deben tener "echo" ni otras salidas por pantalla. Si la librería que incluyas lanza excepciones header no funcionará. Y por último si los header van incluidos entre "if else", lo único que debes hacer es al final de los mismo poner un exit() para que no se quede encallado en el mismo fichero.
Gracias y un saludo.