несколько доменов и одна административная панель

У меня 3 домена и я хочу написать одну панель администрирования. 90% кода является общим для всех сайтов.

Стоит ли использовать один index.php и $_SERVER[HTTP_HOST], чтобы узнать, какой сайт показывать? Или, может быть, используйте четыре папки в корне (по одной для каждого веб-сайта) и храните общие файлы вне этих папок.

Eg.

ROOT
        WWW1
        /index.php

    WWW2
        /index.php

    WWW3
        /index.php

    ADMIN
        /index.php

    /config.cfg

    /.htaccess

    IMG

    MEDIA
        IMG
        DOCS
        MUSIC
        VIDEO

    SRC
    JS
    CSS

Или может есть другое решение.


person user3146156    schedule 03.04.2014    source источник
comment
Если различия достаточно малы, чтобы содержаться в одном корневом файле типа ini (или config), у вас может быть только одна кодовая база с разными файлами ini для каждого сайта. Определите путь к файлу ini в качестве переменной среды в директиве <VirtualHost ... > в вашем файле Apache httpd-vhosts.conf. Затем в начале вашего сценария вы можете потребовать его с помощью require_once $_SERVER['ini_path']; - каждый сайт будет получать свой собственный файл ini. Это предполагает, что вы используете выделенный сервер Apache со всеми необходимыми правами доступа.   -  person CD001    schedule 03.04.2014
comment
К сожалению, я не владелец сервера, поэтому не могу редактировать файл httpd-vhosts.conf.   -  person user3146156    schedule 03.04.2014


Ответы (1)


Это решение, для которого не существует «правильного ответа» — это решение, которое необходимо принимать для каждого сайта отдельно. Как вы уже определили, если большая часть кода является общей для всех сайтов, их совместное использование имеет большой смысл.

Вы также можете подумать о том, какие административные задачи вы ожидаете: у этих сайтов будет один и тот же администратор или для каждого сайта будет свой набор? Будут ли у этих администраторов схожие потребности/способности? Если это так, опять же, общий администратор имеет большой смысл.

С точки зрения одного индекса по сравнению с индексом для каждого сайта: сколько конфигурации/настройки требуется вашим сайтам? Если все сайты работают почти одинаково, может иметь смысл одна индексная страница, и тогда 10% отличающегося кода можно будет обрабатывать на специальной основе. Опять же, если начальная загрузка/настройка должны быть очень разными для каждого сайта, имеет смысл отдельный индекс для каждого сайта, чтобы они могли настроить свои собственные среды, прежде чем вызывать похожий на 90% код.

Итак, в заключение, я не собираюсь говорить «да» или «нет» чему-либо, потому что я недостаточно знаю о вашей настройке, чтобы дать твердый ответ. Тем не менее, я работал с сайтами, которые успешно следуют подобным схемам, и вы, кажется, следуете разумной логике, поэтому у этого решения, безусловно, нет каких-либо явных проблем.

Надеюсь, это поможет :) х

person Emily Shepherd    schedule 03.04.2014
comment
Спасибо за ваши советы. Это один проект, разделенный на три подпроекта. Таким образом, большинство изображений, мультимедиа и кода будут общими. Будет одна база данных для всех. Админка будет управлять контентом этих сайтов из одного места (какая-нибудь CMS joomla). Но боюсь осложнений. Если я использую отдельные папки для каждого сайта, index.php будет выше, чем остальной код. - person user3146156; 03.04.2014
comment
Эта установка не должна привести к каким-либо вопиющим осложнениям с сайтами, которые вы описали. Вызывает ли проблема наличие основного файла index.php в папке более высокого уровня? Икс - person Emily Shepherd; 03.04.2014
comment
Когда я буду использовать отдельный index.php для каждого сайта, домен, например. mydomain1.com будет указывать на папку /WWW1, mydomain2.com /WWW2 и так далее. Но остальные файлы будут помещены в папки /IMG, /SRC и т.д. - person user3146156; 03.04.2014