Согласно инструкции для header () подпись этой функции похожа на
void header ( string $string [, bool $replace = true [, int $http_response_code ]] )
Второй параметр - true
по умолчанию, и он говорит вам, что предыдущие заголовки с тем же именем будут перезаписаны. Установите false