Здравствуйте! Не изобретайте велосипед. Читайте внимательно документацию к Apache и будет просветление.
Вот цитата из русской документации. по ссылке от корня документации /manual/vhosts/
Термин виртуальный хост относится к практике размещения более чем одного веб-сайта (например, www.company1.com и www.company2.com) на одной машине. Виртуальный хост может быть как «привязанным к IP-адресу», что означает использование отдельного IP адреса для каждого сайта, либо «привязанным к имени», позволяя вам иметь несколько различных имён для каждого IP-адреса. Факт того, что эти сайты работают на одном и том же физическом сервере, не очевиден конечным пользователям.
Apache был одним из первых серверов, который поддерживал IP-привязанные виртуальные хосты. Версии Apache 1.1 и более новые поддерживают как IP-привязанные, так и виртуальные хосты, определяемые по имени. Последний вариант виртуальных хостов также иногда называют хост-привязанными или не-IP виртуальными хостами.
Ниже вы видите список документов, которые детально объясняют поддержку виртуальных хостов в Apache 1.3 и выше.
Поддержка виртуальных хостов
* Виртуальные хосты, основанные на имени (несколько веб-сайтов на одном IP адресе).
* IP-привязанные виртуальные хосты (отдельный IP адрес для каждого веб-сайта).
* Примеры виртуальных хостов для стандартных случаев.
* Ограничения файловых дескрипторов (или, Too many log files)
* Динамически конфигурируемый массовый виртуальный хостинг
* Подробное обсуждение алгоритма выбора соответствующего хоста
Конфигурационные директивы
* <VirtualHost>
* NameVirtualHost
* ServerName
* ServerAlias
* ServerPath