el header no debe ir embebido en etiquetas HTML, es decir, debe estar más arriba de cualquier tag html, sea <body> o <html>, se entiende?.
Tu código de a.php debería ser:
Código PHP:
<?php header("Location: b.php"); ?>
<html>
<body>
....
Porque no te envía error en localhost? pues debe ser alguna opción en la configuración de tu servidor....
Saludos