Если до вывода хедера был какой-то вывод данных, хедер не отработает. Убедитесь что до выставления хедера не было echo, print_r, var_dump и прочих функций вывода. Если файл подключается, проверьте также в родительском файле. Также проверьте что файл не сохранён с использованием BOM. Если выставлен
error_reporting(E_ALL), то может валится какой-то notice, который тоже является выводом
Работать не будет
<html><body>
<?php
header('Location: '.$url);
die();
Работать не будет
<?php
echo "123";
header('Location: '.$url);
die();
Работать не будет
{ПРОБЕЛ, ТАБУЛЯЦИЯ ИЛИ ДРУГОЙ СИМВОЛ}<?php
header('Location: '.$url);
die();