Одно приложение PHP, которое выглядит по-разному при доступе из разных доменов - PullRequest
1 голос
/ 06 ноября 2010

Я работаю в небольшой фирме, занимающейся веб-дизайном, и мы планируем внедрить домашнюю CMS для управления нашими сайтами.

В настоящее время мы устанавливаем нашу CMS в отдельной папке под уникальным пользователем для каждого клиента, а затем указываем их домен на эту папку.

Сложной частью этого является обратная поддержка важных изменений, например, асинхронизация нового кода Google Analytics или наш улучшенный способ предотвращения спама в комментариях.

Пара вопросов о лучшем способе:

1: желательно ли использовать один и тот же код бэкенда для каждого сайта, который мы создаем?

2: Предполагая, что да, как лучше? Хотелось бы проверить $ _SERVER ['SERVER_NAME'], чтобы определить, какой шаблон, соединение с базой данных и т. Д. Использовать.

У кого-нибудь есть опыт?

Ответы [ 2 ]

1 голос
/ 06 ноября 2010

Если все они размещены на одном физическом сервере, вам нужно $_SERVER['HTTP_HOST'], то есть домен, который запрашивает пользователь. SERVER_NAME - это физическое имя самого сервера (которое устанавливается директивой Apache ServerName).

Нет проблем с размещением нескольких сайтов в одной кодовой базе, если они не слишком отличаются друг от друга. Если это просто вопрос брендинга и изменения текста / графика тут и там, не важно. Но если вы делаете принципиально разные сайты, то ваш код станет неразрешимым беспорядком: «если servername - X, тогда сделайте это иначе, сделайте что-нибудь еще».

0 голосов
/ 06 ноября 2010

Я попробовал это таким образом, имея одну основную CMS, которая выталкивала несколько сайтов и удалялась от нее до ее запуска.Проблемы у нас были с обновлениями и изменениями.Любой вид настройки прямо из окна без большой дополнительной работы.Хотите добавить поле формы?Будьте готовы к душевной боли.В итоге мы сделали то, что у вас сейчас, несколько установок, но с несколькими основными сценариями, которые они все поделили, в которых передавались вызывающие сценарии, какой сайт запрашивал что, например, формы почтовой программы и проверки безопасности.Для массовых обновлений, которые, как мы знали, будут одинаковыми во всех них или на нескольких страницах, мы либо напишем скрипт обновления, который будет искать и заменять в файлах, либо делать это в BBedit.что-то вроде Google Analytics. У меня такое чувство, что вы все равно будете вынуждены вносить эти изменения вручную, поскольку все они будут иметь уникальные идентификаторы.

...