Хорошая ли практика проверять домен через HTTP_HOST?
Бестолковая затея. Если в плане защиты, как говорят ответы выше. Сделайте заглушку на хост по-умолчанию. Все, кто не прописан на хосте веб-сервера попадут на заглушку.
Для роутинга вроде так и делается.
Если у вас стоит (или появится) reverse proxy, результаты работы вашего кода вас удивят.
Корректнее будет использовать $_SERVER['SERVER_NAME'];