Почему $_SERVER["SERVER_NAME"] не повторяет www на www.example.com но он работает, когда я повторяю его из поддомена, например test.example.com ?
Я не знаю, почему он не содержит ожидаемого значения. Но вместо этого попробуйте $_SERVER['HTTP_HOST'] , который содержит значение, предоставленное клиентом в поле HTTP-заголовка Host . Но ознакомьтесь с Крисом Shiftlett's SERVER_NAME сравнении с HTTP_HOST для соображений безопасности.