Помощь Проблема с многосайтовостью на поддоменах

Тема в разделе "Битрикс", создана пользователем soot, 29 дек 2014.

Модераторы: mrLom, puagardian
  1. soot

    soot

    Регистр.:
    22 дек 2008
    Сообщения:
    164
    Симпатии:
    28
    Редакция Бизнес - последняя версия.

    Есть сайты:
    1. site.ru
    2. ad.site.ru
    Движок установлен в папку www/site.ru/.
    Сайт ad.site.ru установлен www/ad.site.ru/ в этой папке есть две символьные ссылки bitrix and upload ведущие в www/site.ru/bitrix/ и www/site.ru/upload/.

    У обоих директорий (www/site.ru/ и www/ad.site.ru/) есть файл index.php.

    Если открыть сайт site.ru, то будет отображаться index.php сайта site.ru, если открыть ad.site.ru, то будет отображаться index.php от сайта ad.site.ru, но если находясь на сайте ad.site.ru нажать на кнопку "изменить страницу", то мы будем редактировать index.php сайта site.ru, т.е. основного.

    Что делать ?
     
  2. Prowler

    Prowler Писатель

    Регистр.:
    28 май 2012
    Сообщения:
    3
    Симпатии:
    0
    Привет, сейчас столкнулся с этой же проблемой.
    Как вы ее решили?
     
  3. soot

    soot

    Регистр.:
    22 дек 2008
    Сообщения:
    164
    Симпатии:
    28
    Я ни как.
    Написал в техподдержку жду ответа.
     
  4. soot

    soot

    Регистр.:
    22 дек 2008
    Сообщения:
    164
    Симпатии:
    28
    Решение:
    - у каждого сайта должно быть прописано свое доменное имя;
    - значение сортировки поддомена должно быть меньше значения сортировки домена; - вот этого я не знал.
    - папка сайта у обоих сайтов - "/".

    Также необходимо отключать HTML-кеширование при данном виде многосайтовости.
    Настройки - Настройки продукта - Автокеширование, вкладка HTML-кеширование.

    Также попробуйте очистить все файлы кеша на вкладке Очистка файлов кеша.
     
  5. Seolink09

    Seolink09 Постоялец

    Регистр.:
    29 авг 2015
    Сообщения:
    52
    Симпатии:
    1
    я заморачивался потом убрал фильтры между ними не работают да и проблем много
     
  6. nyx

    nyx

    Регистр.:
    24 мар 2009
    Сообщения:
    235
    Симпатии:
    206
    HTML-кеширование отключать не обязательно.
    Чтобы HTML-кеш не смешивался при многосайтовости, достаточно просто разнести кеш, оставив общими папки: cache, managed_cache, html_pages, php_interface, stack_cache, templates и настроить серверную переменную BX_PERSONAL_ROOT для каждого сайта.
     
  7. AMG88

    AMG88 Создатель

    Регистр.:
    12 апр 2014
    Сообщения:
    11
    Симпатии:
    9
    вам нужно в файле dbconn.php внизупоставить условие
    PHP:
    if ($_SERVER['HTTP_HOST']==="site.ru"):
    define("USE_LANG""ru");
    else(
    $_SERVER['HTTP_HOST']==="en.site.ru"):
    define("USE_LANG""en");
    и в настройках сайта(админка,настройки, настройка продукта,сайты, список сайтов) в шаблонах ставим условие
    шаблон en - Выражение php - $_SERVER['HTTP_HOST']==="Перейти по ссылке"
    иногда нужна такая вариация
    шаблон en - выражение - ($_SERVER['HTTP_HOST']==="en.site.ru" || $_SERVER['HTTP_HOST']==="Перейти по ссылке") && $_SERVER['SCRIPT_NAME']==="/index.php"

    и будем вам счастье.
     
  8. wpt

    wpt

    Регистр.:
    11 фев 2013
    Сообщения:
    585
    Симпатии:
    85
    добавление условия в dbconn убивает сайт. что посоветуете?
     
  9. nyx

    nyx

    Регистр.:
    24 мар 2009
    Сообщения:
    235
    Симпатии:
    206
    Гммм....
    Может я конечно чего-то не понимаю. А почему не использовать штатный функционал для этого?

    1) Под каждый сайт есть своя папка:
    site.ru
    en.site.ru
    ru.site.ru
    ua.site.ru
    ....

    2) В основной site.ru лежит ядро (/bitrix/ и /upload/) и вспомогательные (urlrewrite, 404, 403, robots....)
    3) В других папках два симлинка к папкам ядра первой папки и свои копии вспомогательных фалов

    4) Заводим в админке Битрикс нужное количество сайтов
    5) Прописываем каждому свой физический путь (/var/www/.../site.ru/, /var/www/.../en.site.ru/ и тд)
    6) Настраиваем каждому сайту свой язык

    Перейти по ссылке
     
    wpt нравится это.
  10. wpt

    wpt

    Регистр.:
    11 фев 2013
    Сообщения:
    585
    Симпатии:
    85
    Спасибо, друг! У меня есть основной домен (site.ru). Я создал поддомен для английской версии (en.site.ru). Фактически у меня выполнено 5 твоих пунктов.
    Сейчас у меня два сайта на русском языке с одинаковым шаблоном. Мне не понятно как заставить отображаться английский в английской версии. (например подписи на кнопках или служебные сообщения типа "не заполнено обязательное поле"). Содержимое и меню, я так понимаю, редактируется напрямую через редактор?