Самая распространенная ошибка перенаправления - это цикл перенаправления.
- Действительно ли скрипт заканчивается после вашего первого примера?
- Откуда берется $ host?
Кроме того, SERVER_NAME обычно является глобальным именем, настроенным для Apache, HTTP_HOST - действительно правильный способ сделать это.
HTTP_HOST может содержать номер порта, имейте это в виду.
Итаккакой URL-адрес вашего сценария и куда вы перенаправляете?
Простой способ отладки - вывести содержимое HTTP_HOST и вместо вызова header () также вызвать 'echo'.