Как лучше создавать одностраничные сайты?
У регистратора, который обслуживает ваше имя пропишите чтобы все сайты вида *.test.ru ведут на ваш сервер.
Далее для простоты, используя мод реврайт у апача преобразовываете запросы вида site1.test.ru
к виду test.ru/q=site1
И уже в вашем  index.php опишите логику - какой отдавать контент и откуда его брать в случае если запрашивается тот или иной $_GET['q']
Вам в любом случае придется создавать сабдомен. Это не заморочка - это норма! Отдельный сабдомен - это отдельный сайт. А значит у каждого name1.test.ru или name2.test.ru в корчневой дериктории должен лежать файл индекс (index.php).
Из простого, то вы сами ответили на свой вопрос. Создаете дерикторию, пуляете туда index.php или ".html" с нужным контентом и все!
По сложней - это уже другой вопрос...