задача: общий кабинет пользователя на несколько подддоменов.
например:
board.site.ru
news.site.ru
и все ссылки на пользователей с данных поддоменов должны отправлять на site.ru/users/1 а не board.site.ru/users/1
кто-либо сталкивался с такой задачей? Как решили?
спасибо заранее.
п.с. пока писал пост, понял, что достаточно будет поиграться с .htaccess. но это не точно.
И они должны вести именно на тот сайт, на котором находится пользователь, так как на других сайтах может не быть этого типа контента. Или может не быть столько же страниц контента.
А с недавних пор еще можно вместо id указывать slug, и ссылка будет такой site/users/test
Вариант с .htaccess точно мимо. И в целом затея так себе…
В теории должно зайти.
Можно дополнительно дошаманить метод href_to_profile в system/libs/html.helper.php
Прописав там жестко ссылку на основной сайт и обнулив все параметры. Тогда видов ссылок на профиль станет существенно меньше.
Надо пробовать.
Но и это все такие полумеры, так как, например, личные сообщения и уведомления будут отдельные на каждом сайте. Это только то, что на ум пришло.
да, это всё "костыли", но если конкретно под высоконагруженный проект, то why not.
личка, кстати, общая, уведомления пока не проверял.
например auth.site.ru/users/1
поставь туда ICMS отключив весь функционал кроме управления пользователями, это будет у тебя "центр авторизации", т.е. чел авторизовавшийся на любом из сайтов, автоматом авторизуется и на всех остальных
описание есть тут: docs.instantcms.ru/manual/components/api
Я об этом давно думаю, но надо придумать, как тут вывести данные из остальных поддоменов, например всякоразные посты, их количество и т.д.
нужно отделять сервис авторизации пользователей от сайтов, как на хабре или Вк
например auth.site.ru/users/1
поставь туда ICMS отключив весь функционал кроме управления пользователями, это будет у тебя "центр авторизации", т.е. чел авторизовавшийся на любом из сайтов, автоматом авторизуется и на всех остальных
описание есть тут: docs.instantcms.ru/manual/components/api
как тут вывести данные из остальных поддоменов, например всякоразные посты, их количество и т.д.
Есть темы на форуме, пару лет назад обсуждались.
Делал такую штуку: Основной сайт и три поддомена. Искал тогда на форуме и в доках инструкции, как сделать, чтоб вся информация пользователя (статьи, посты и т.д) выводилась на всех сайтах. Те рекомендации, что находил на форуме особо не помогли, все время с какими то проблемами сталкивался. Вопрос решился опытным путем....
В общем, как рекомендуется, при установки поддоменов указываем одну папку upload для всех сайтов и т.д.
После правильной установки сталкиваемся с неприятными моментами которые должны присутствовать, если мы хотим выводить всю информацию на всех сайтах, и что заставило меня отказаться от этого решения.
1. Базы данных основного домена и поддоменов должны находиться в одной БД.
2. Все типы контента, виджеты, любые другие дополнения которые установлены на одном сайте, должны быть установлены на всех остальных сайтах. По сути, все сайты должны быть полными копиями. Будет одно отличие — например: если вы хотите доску объявлений вывести только на одном сайте www.board.site.ru, то на остальных сайтах этот тип контента просто присутствует и не заполняется.
Так что, как выше написал Zau4man, в целом затея так себе…
Я об этом давно думаю, но надо придумать, как тут вывести данные из остальных поддоменов, например всякоразные посты, их количество и т.д.
аналогично через JSON-API
auth.site.ru/api <-> авторизации на сайт1, сайт2, сайт50
посты или ещё что-либо
board.site.ru/api <-> news.site.ru/api
Описание методов API docs.instantcms.ru/manual/components/api/methods
Если только на пользователей, то я бы тоже с этого и начал. с 301-ым редиректомп.с. пока писал пост, понял, что достаточно будет поиграться с .htaccess. но это не точно.
Если только на пользователей, то я бы тоже с этого и начал. с 301-ым редиректом
Авторизацию надо делать по нормальному, если без программирования, то сносить InstantCMS, отказаться от регистрации и сайт переводить на голый HTML, для упрощения администрирования html-сайта использовать тот же Hugo Site Generator