Es posible que durante las pruebas en tu servidor local redireccionar con header funcione correctamente, pero el error surge cuando el script es subido a un hosting, el error muy común es: «Headers already sent» eso es porque primero ejecuta el header antes que cualquier otro código. Si el header location no funciona, agregue ob_start la siguiente línea de código en la parte superior:
ob_start();
<?php header(location: pagina.php)?>
Otra alternativa es usar código JavaScript dentro de PHP, si bien no es una buena práctica, el código cumple con la tarea de redireccionar
<?php echo'<script type="text/javascript">
window.location.href="pagina.php";</script>'; ?>