Да здесь все элементарно, Ватсон! Загляните в $_SERVER и увидите имя сайта в значении под индексом HTTP_HOST.
Ну а дальше дело техники. Проектируете свою систему с учетом наличия сущности домен, естественно внутри системы храните список привязанных доменов и, если домен вне этого списка делаете редирект на дефолтный или показываете страницу "Domain not found".
Под каждый отдельный домен делается отдельное дерево в хранилище файлов и шаблоны.
В плане дерева страниц верхним уровнем будет список доменов.
С пользователями ситуация немного интереснее, т.к. они могут быть идентифицированы по-разному.
Обычно делают составной ключ между доменом и почтой.