Мультисайтовость

InstantCMS 2.X

Создание нескольких сайтов с частично общим контентом

#16 9 октября 2017 в 20:16

Можно попробовать и через хук, тогда можно было бы красиво все сделать. Но для начала посмотрите ручной вариант.

@SmartControl
Большущее спасибо! Обязательно попробую. Через Хук наверно красивее получится…
#17 10 октября 2017 в 01:03

vikont:
Так вот и задан вопрос, возможно ли это как то сделать на Инстанте путем переключения конфигов или каким то иным способом?

В файле /bootstrap.php после строки
Код PHP:
$config = cmsConfig::getInstance();
добавить
Код PHP:
$configs = array(
'site2.ru'=>'config2.php',
'site3.ru'=>'config3.php',
'site4.ru'=>'config4.php',
);
if (isset($configs[$_SERVER['HTTP_HOST']])){
$config->setData($configs[$_SERVER['HTTP_HOST']]);
}
 
В массиве список ваших сайтов и список заготовленных конфигов.

Можно попробовать и через хук, тогда можно было бы красиво все сделать. Но для начала посмотрите ручной вариант.

@SmartControl
Попробовал! Сайты работают со своими конфигами. Но! Чья папка тот и король! Надо разруливать robots.txt и sitemaps.xml так как они подчиняются домену-хозяину папки.
Других проблем проблем пока не замечено.

ВНИМАНИЕ! Тем кто попробует воспользоваться скриптом: домен-хозяин доменной папки идет по умолчанию с конфигом CONFIG.PHP остальные сайты под номерами. В названии сайта вписываете только домен, без HTTP://
#18 10 октября 2017 в 03:13
Есть проблема с авторизацией!
Если я залогинился на одном сайте, то при переходе по ссылке с него на другой сайт связанный единой базой пользователей, оказываюсь разлогиненным!
Странно, а почему?
#19 10 октября 2017 в 08:16

Если я залогинился на одном сайте, то при переходе по ссылке с него на другой сайт связанный единой базой пользователей, оказываюсь разлогиненным!

vikont

Ничего странного, кукисы. Это же основа безопасности — один домен не знает что вы делаете на другом и какие кукисы у вас там были установлены. При переходе с сайта Яндекса на Гугл авторизация тоже не переносится — даже если у вас и там, и там пользователь и пароль совпадают.

Может быть в таком случае нужен общий сервер авторизации. Авторизацию производить на нем, а все остальные сайты вашей сетки просто будут у него запрашивать авторизован или нет.
#20 10 октября 2017 в 09:04
в настройках есть такое



оно не для такого случая сделано?

все авторизации перекидывать на определенный домен, а с него брать куки
#21 10 октября 2017 в 10:35

все авторизации перекидывать на определенный домен, а с него брать куки

Kokshetimes
Для этого, но там есть ключевое слово "поддомены". Это работает только для них.
#22 10 октября 2017 в 15:36

Kokshetimes:
все авторизации перекидывать на определенный домен, а с него брать куки
Для этого, но там есть ключевое слово "поддомены". Это работает только для них.

@SmartControl
На поддоменах и делаю мультисайтинг!
Поставил cookie главный домен на всех сайтах и авторизация заработала!

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

Пока остался нерешенным вопрос разделения ROBOTS.TXT и SITEMAPS
#23 10 октября 2017 в 17:29

Пока остался нерешенным вопрос разделения ROBOTS.TXT и SITEMAPS

vikont
Яндекс ругается на редиректы и не видит robots.txt в компоненте SiteCreator, а была надежда, что компонент поможет разрулить хотя бы robots.txt

C sitemaps попробовал разрулить через /htaccess:
RewriteRule ^домен/sitemap(.*).xml$ ./cache/static/sitemaps/sitemap$1.xml [L]
RewriteRule ^домен2/sitemap(.*).xml$ ./cache/static/sitemaps2/sitemap$1.xml [L]
Яндекс отвечает, что не может скачать файл. Видимо где то ошибка.

Так же видимо надо подправлять Хук cron_generate.php чтобы раскладывал файлы по папкам.
#24 10 октября 2017 в 18:17
Всем мира.надеюсь что пишу по теме и в нужной ветке.вроде вопрос схожий.если что поправьте
Подскажите как такое осушествить правильно или это то же самое что вы обсуждаете.а то я запутался немного))
Есть сайт 1 и сайт 2. можно ли что бы сайт 1 забирал себе напрямую из базы данных контент сайта 2? оба сайта на одном хостинге.оба одинаковой версии и тип контента одинаково настроен и все поля одинаковые
Просто что бы на сайте 1 дублировался контент из сайта 2?
#25 10 октября 2017 в 18:31

можно ли что бы сайт 1 забирал себе напрямую из базы данных контент сайта 2?

vsemkrot
контент, а к нему комменты, активность, юзеров которые его добавили и прокомментили…
связи если есть… картинки с папки загрузки первого сайта. Если все это в одной базе данных, но с разными префиксами — можно попробовать сделать (точно так же как и с пользователями, один префикс для типа контента использовать).
#26 10 октября 2017 в 18:39
@SmartControl, нужен только контент и всё.или такую задачу проще парсером решить как думаешь?
#27 10 октября 2017 в 18:54
vsemkrot, можно попробовать подменять имя таблицы при запросах
например,
cms_con_news — на первом сайте и
cms2_con_news — на втором

и во всех запросах где встретится cms2_con_news менять название на cms_con_news
Но могут быть проблемы с другими связанными таблицами.

А есть еще вариант. Fuze же написал JSON API — запрашивать по нему контент и отображать (этот вариант точно не хуже парсера). Но это все не простые варианты, нужно лезть в код.
#28 10 октября 2017 в 19:20

Просто что бы на сайте 1 дублировался контент из сайта 2?

vsemkrot
Перед самим стоит задача организации некого сквозного контента для всех сайтов мультисайтинга. Видятся несколько решений:
1. Самый простой — вызывать ссылкой нужный контент с сайта источника, вплоть до использования тега <iframe>
2. При использовании компонента SiteKreator организовать "переброску" контента редиректом
3. Ручками в базе перебрасывать контент из одной таблицы в другую
4. Заказывать специальный компонет или попытаться использовать Импорт-экспорт конфигураций Loadыря
5. Ждать нормальный вариант мультисайтинга — он в разработке, но о сроках реального воплощения в рабочем движке Fuze сказать затрудняется.
#29 11 октября 2017 в 12:46
Небольшой отчет о достигнутом… smile
1. Вопрос с файлом ROBOTS.TXT успешно решился с помощью компонента SiteKreator. В компоненте прописываешь один раз содержимое файла, у меня:
User-Agent: *
Allow: /

Disallow: /admin/
Disallow: /backups/
Disallow: /backup/
Disallow: /board/
Disallow: /components/
Disallow: /wysiwyg/
Disallow: /includes/
Disallow: /modules/
Disallow: /filters/
Disallow: /languages/
Disallow: /users/
Disallow: /core/
Disallow: /redirect?url=*

Host: ваш домен
Sitemap: ваш домен/sitemap.xml
а далее, с какого бы домена не заходили, всегда показывается robots.txt и даже в последних 2-х строчках меняется УРЛ на нужный!
Спасибо Креатор за такой подарок!

2. С файлом sitemaps.xml для дополнительного домена вопрос решился за счет редиректа в панели хостинга, я указал на папку sytemaps2. По аналогии можно так же редректить и все остальные дополнительные домены из связки мультисйтинга.

Осталось только как то делать карты дополнительных сайтов и раскладывать по папкам! Кто то сумеет это сделать?
#30 16 декабря 2017 в 22:00
Всем привет. Где посмотреть на каком этапе мультисайтинг сейчас? Хочется сделать основной сайт — область, и через мультисайтинг настроить города в области… А то через InstantMaps столкнулся с непреодолимыми сложностями… А других решений не нашёл… =)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.