• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

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

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, т.е. основного.

Что делать ?
 
Привет, сейчас столкнулся с этой же проблемой.
Как вы ее решили?
 
Решение:
- у каждого сайта должно быть прописано свое доменное имя;
- значение сортировки поддомена должно быть меньше значения сортировки домена; - вот этого я не знал.
- папка сайта у обоих сайтов - "/".

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

Также попробуйте очистить все файлы кеша на вкладке Очистка файлов кеша.
 
я заморачивался потом убрал фильтры между ними не работают да и проблем много
 
HTML-кеширование отключать не обязательно.
Чтобы HTML-кеш не смешивался при многосайтовости, достаточно просто разнести кеш, оставив общими папки: cache, managed_cache, html_pages, php_interface, stack_cache, templates и настроить серверную переменную BX_PERSONAL_ROOT для каждого сайта.
 
вам нужно в файле 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"

и будем вам счастье.
 
вам нужно в файле 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"

и будем вам счастье.
добавление условия в dbconn убивает сайт. что посоветуете?
 
добавление условия в dbconn убивает сайт. что посоветуете?
Гммм....
Может я конечно чего-то не понимаю. А почему не использовать штатный функционал для этого?

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
Гммм....
Может я конечно чего-то не понимаю. А почему не использовать штатный функционал для этого?

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

Для просмотра ссылки Войди или Зарегистрируйся

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