Евгений О.
2989 сообщений
#15 лет назад
Есть достаточно большое количество абсолютно одинаковых доменов на одном сервере. Все домены имеют одинаковые скрипты, но различные настройки при запуске. Как реализовать хостиг, чтобы скрипты существовали в 1 экземпляре, но запускались со всех доменов?
Настройки самого сервера вполне типовые и менять их нельзя.

P.S. Использовать удаленный интефейс крайне нежелательно.
Евгений О.
263 сообщения
#15 лет назад
1. Устанавливаете все Ваши скрипты и прочее в одну директорию, никаких дублирований, все в одном экземпляре.

2. Эту директорию описываете в виртуальном контейнере Апача, например:

<VirtualHost Ваш.IP.ад.рес:80Ю
ServerName www.Ваш.Домен
...
DocumentRoot /home/Ваши/скрипты
...
</VirtualHost>

и добиваетесь, чтобы сайт www.Ваш.Домен работал должным образом. Примечание: все эти директивы можно использовать только в httpd.conf, в .htaccess они работать не будут.

3. Когда все заработает, после директивы ServerName www.Ваш.Домен добавляете:

ServerAlias www.Ваш.Домен1 www.Ваш.Домен2 \
... www.Ваш.Домен29

4. В нужные скрипты добавляете код, который определяет имя сервера к которому обратился браузер (это делается через какую-то переменную окружения) и выполняет нужные настройки. Того же - если не жалко времени - можно добиться и через mod_rewrite, директивы RewriteCond, RewriteRule позволят определить Вам к какому виртуальному хосту было обращение и подставить нужные параметры в строку URL.

Примечание: Этот метод не работает для серверов с доступом по https - по этому протоколу, каждый виртуальный сервер должен иметь отдельный IP адрес, хотя, директория со скриптами по-прежнему может быть одной для всех серверов.
Евгений О.
2989 сообщений
#15 лет назад
Я, собственно, также предложил владельцу действовать через ServerAlias. Он сначала хотел запустить все через mod_rewrite, но мне удалось ему доказать, что поисковики быстренько начнут считать его за один сайт с зекалами (или типа того). Сейчас он хочет использовать аналогичную вещь, но через DNS. Т.е. выделяется IP, а через DNS все домены перенаправляютя на этот IP.

Какой и вариантов лучше и где меньше шансов получить проблемы?
Евгений О.
263 сообщения
#15 лет назад
Все домены обязательно должны быть назначены в DNS на один и тот-же IP адрес - это надо сделать до того как Вы будете конфигурировать виртуальные хосты в Апач, без этого оно работать не будет.

Обойтись только конфигурированием DNS не получится - без установки ServerAlias Апач не сможет найти в своей конфигурации Ваш виртуальный хост и будет использовать хост "по умолчанию", например это может быть первый по алфавиту виртуальный хост и, скорей всего, это будет не тот хост, который Вам нужен.

Делать все через mod_rewrite - можно, но это глупо: кроме отмеченной Вами проблемы с поисковыми машинами, Вам придется использовать "внешнюю" переадресацию чтобы перенаправить трафик с, например, www.Ваш.Домен29 на www.Ваш.Домен, а это будет означать, что в строке URL браузера всегда будет отображаться только www.Ваш.Домен - это неизящно, да и зачем тогда нужны все эти 29 доменов?

Для того, чтобы оно нормально работало, Вам надо и сконфигурировать все хосты в DNS и описать их в ServerAlias.
Евгений О.
2989 сообщений
#15 лет назад
Спасибо!