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

Тема в разделе "Битрикс", создана пользователем 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
    Сообщения:
    263
    Симпатии:
    226
    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']==="www.en.site.ru"
    иногда нужна такая вариация
    шаблон en - выражение - ($_SERVER['HTTP_HOST']==="en.site.ru" || $_SERVER['HTTP_HOST']==="www.en.site.ru") && $_SERVER['SCRIPT_NAME']==="/index.php"

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

    wpt

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

    nyx

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

    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) Настраиваем каждому сайту свой язык

    https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=287
     
    wpt нравится это.
  10. wpt

    wpt

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