Самый простой способ - все веб-сайты ссылаются на один сервер (возможно, распределенный).
Передайте вызывающий URL через ваш веб-сервер, чтобы сгенерировать информацию о конфигурации. Используйте эти переданные URL для определения различий между каждым сайтом.
Кроме того, рамки практически не имеют значения для вопроса, поэтому я оставлю это кому-то другому, чтобы ответить.
Просто помните, что если вы сделаете 20 копий одного и того же кода, это в 20 раз больше времени, необходимого для исправления ошибок.