2009-06-24 2 views
0

Я собираюсь сделать серию из примерно 5 сайтов. Им нужно, чтобы все работали в одной и той же системе. Я планирую, чтобы все они указывали на один и тот же сервер, а затем в зависимости от того, какой домен используется для доступа к нему, будет использоваться другой контент/стили. Таким образом, по существу, это будет 5 или около того разных розничных сайтов, специализирующихся на определенном типе продукта.Mutliple sites на том же сервере код обмена

Но все они используют один и тот же внутренний код, чтобы его было намного проще поддерживать. Я никогда не устанавливал ничего подобного раньше и хочу знать, есть ли какая-либо информация, которую я должен рассмотреть, или кто-нибудь знает о хорошем месте, которое объясняет, как это сделать хорошо?

Также мы не принимаем себя, а через хостинговую компанию (если это имеет значение).

Спасибо!

ответ

2

Звучит довольно прямо вперед мне:

Просто каталог:

/var/www/siteLibraries/foo.php 

или другой подходящий каталог. Тогда есть

/var/www/site1/foo.php 
/var/www/site2/foo.php 

и установка погрузочной класса по умолчанию в PHP (http://uk.php.net/manual/en/language.oop5.autoload.php), так что, когда сайт специалиста конкретизирует класс ... он будет искать местные библиотеки сайта (для специалистов переопределений), а затем по умолчанию разделяемые библиотеки. Вы также можете упорядочить контент таким образом.

Краткое описание, но приблизительный обзор того, как я буду заниматься этим, если вам не нужно беспокоиться о разрешении доступа к сайтам (я полагаю, что клиенты не будут редактировать код).

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

Good Luck

0

Я в настоящее время в процессе написания системы управления контентом, который адресует именно этот вопрос. Несколько вещей, которые я нашел полезными, чтобы думать.

При разработке ваших сайтов уменьшите их каждый до самого низкого общего знаменателя. То есть, какие элементы являются общими для всех ваших веб-сайтов? Например, каждый веб-сайт будет иметь серию страниц и, возможно, некоторую форму системы корзины покупок.

Для моей системы у меня есть отдельный файл шаблона для каждого сайта. Таким образом, я сохраняю свой PHP и HTML друг от друга, что делает вещи намного проще. Как только у меня был самый низкий общий знаменатель, самая сложная задача для меня заключалась в том, чтобы разделить сайты.

Я использовал свой файл htaccess для перенаправления example.com на www.example.com - таким образом, я могу надежно подобрать www.example.com из заголовка и использовать его для выбора информации для данного сайта из базы данных.

У Aiden также есть несколько хороших точек на конкретный код.Для меня я обнаружил, что код не был особенно проблематичным, а скорее, как я реализовал этот код для среды нескольких сайтов.

Надеюсь, это поможет.

0

Если вы хотите, чтобы ваши сайты имели разные кодовые базы, подход Эйдена выглядит довольно неплохо.

Если ваши потребности более простые, то есть все сайты используют один и тот же код, но отображают различный контент на основе имени домена, тогда вы также можете уйти с более простым решением.

Укажите все домены в тот же каталог, где живут ваши сценарии, и укажите, какой контент следует отправлять на основе значения «Host» HTTP.

т.е .:

$host = $_SERVER["HTTP_HOST"]; 

$rs = mysql_query("SELECT * FROM products WHERE website = '$host'"); 

// ...etc 

N.B: Этот код предназначен для иллюстративных целей. Как написано, он уязвим для SQL-инъекции, вы должны защитить его соответствующим образом.