Как проектировать систему для отображения общего контента на разных субдоменах / доменах?
Кто реализовывал подключение субдомена к файлам находящихся на домене, как это выглядит, может даже есть инструкция для чайников?
Дело в том что очередной бзиг и нужно расплодить сайт на города с населением более 200 тысяч человек, а как известно их ~ 100 штук, неужели придется на каждый из них заливать контроллеры, роутеры, vievs, стили и прочее? В моем представлении это именно так, с заменой id города при подключении к базе данных на каждом субдомене
Стили ладно, могу их подключить через http, но что делать с php include ?
В общем как вы поняли я совсем зеленый в этом вопросе, поэтому пишу сюда, более опытным
- - -
Если уже есть пример такой реализации, то покажите, подскажите в какую сторону копать
Предположим, у разных городов свой субдомен. Иногда отличается разметка (шаблон, тема). И данные хранятся в разных базах. А программный код общий. В этом случае надо перенастроить соединение с базой в зависимости от города и поменять шаблон. Можно соединять некоторые общие параметры приложения с параметрами, которые зависят от домена.
Пример реализации https://github.com/pvolyntsev/toster_449124
Конфиги в директории config/*.php
Отображение в шаблонах layout/*.php - в конкретной CMS или фреймворке шаблоны переключаются по-другому
Пример работы в public/index.php
Вот по приблизительно такому же принципу на проекте Icons8 выбирается не город, а язык и некоторые другие параметры отображения https://ru.icons8.com - на русском https://it.icons8.com - на итальянском https://icons8.com - по-умолчанию, английский
а пока я воспользовался вашим репозиторием, добавил БД, добавил домен "web" иии.... ничего xD ошибки, ошибки и еще раз ошибки
Картиночки (нажать на меня)
но это ладно, главное у меня уже есть направление, а как это починить с опытом придет, спасибо еще раз
надеюсь в близ. времени поднять свой уровень и обращаться к вам уже с вопросами поинтересней за консультацией, ну или как вы это называете - репетиторство
Сам сталкивался с подобной проблемой, но на разных поддоменах ее решить не смог.
Но нашел приемлемый обход проблемы - создание подсайтов внутри родительского сайта. Подсайты при этом совершенно независимы друг от друга по контенту, могут иметь одинаковые или разные шаблоны своей структуры.
Выглядит это так:
main.ru
main.ru/subsite1/
main.ru/subsite2/
... etc
Тогда CMS основного сайта вполне себе обслуживает подсайты. Пример такой реализации - немецкая CMSimple.
Как писал выше Александр Аксентьев , настраиваем, чтоб запросы со всех субдоменов шел в один скрипт. А там в файле подключения к базе данных выбираешь базу, в зависимости от домена, с которого пришел запрос.
Данные о домене можно найти в суперглобальном массиве $_SERVER;
echo $_SERVER['SERVER_NAME']; // domain.com или blahblah.comain.com
Всё.
Все домены идут в одну папку в один движок, движок уже в зависимости от домена преключается заголовки или еще что-то, но сам движок никуда не копируется.