Одна из самых распространенных платформ хостинга - это CPanel. В целом в ней все хорошо, но по умолчанию есть такая проблема - дополнительные домены для аккаунта по умолчанию создаются внутри папки public_html основного домена.
К сожалению, при настройке многосайтовости в Битрикс это приводит реально к большим проблемам с ЧПУ и работой комплексных компонентов - фактически, они перестают работать из-за того, что Битрикс неправильно считает что многосайтовость настроена по первому (обычно никому не нужному способу), и толкает настройки ЧПУ в соответствующий файл urlrewrite на главном сайте.
Поэтому при работе на CPanel необходимо, чтобы ваш хостер разрешал создание поддоменов вне папки public_html
Вот и все нюансы.
Дополнено:
Пример, как этого добиться, решение проблемы
1. Создаем основной сайт
2. Добавляем другой домен, подпапкой в папке основного сайта
3. Создаем в битрикс 2 сайта по второму способу многосайтовости
4. в корень каждого сайта естественно, кладем .htaccess и urlrewrite.php
5. создаем два инфоблока новости
6. создаем в каждом сайте папку "news", кидаем в index.php комплексный компонент новости и включаем в нем ЧПУ
7. в результате в первом сайте, который верхний, в urlrewrite.php появляются две такие записи
Код
array( "CONDITION" => "#^/news/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/site2/news/index.php", ), array( "CONDITION" => "#^/news/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/news/index.php", ), ) |
Получается странная вещь:
1. На втором сайте urlrewrite.php не работает
2. на первом сайте почему-то идут ссылки на второй сайт как на подпапку, хотя такого не предполагалось
3. Поскольку на обоих сайтах могут быть одинаковые разделы, но с разными настройками, реально они перестают работать.
ну и другие проблемы, с этим связанные.
Решение (подсказано читателями):
1-й вариант - требовать от хостера включения возможности размещать дополнительные домены вне папки public_html
2-й вариант - создавать сначала "фиктивный" домен, а потом уже создавать нормальные домены. тогда они будут все на одном уровне и все будет ок










При создании сайта №1 задаем имя директории сайта:
"site01".
Рабочая директория сайта будет: /site01/public_html/
При создании сайта №2 задаем имя директории сайта: "site01/public_html".
Рабочая директория сайта будет: /site01/public_html/public_html/
А название директории "public_html" можно переопределить если не ошибаюсь в .htaccess, в битриксе путь до сайта тоже прописывается и для сайта №2, будет не "/", а что-то вроде "/public_html/", так же у хостера на эту директорию привяжется другой домен, в чем собственно проблема-то? Я что-то упускаю, а что не вижу!?
Да и идеологически иметь структуру сайтов когда один внутри другого как-то не приятно.
Вместе с тем мне нравится работать с cpanel. В ней достаточно удобно.
Поясните, пожалуйста, для такого первого технического сайта для удобства последующей настройки многосайтовости, желательно ли сразу предусмотреть покупку ещё одной дополнительной лицензии на сайт?
Допустим, нужно сделать два действующих сайта и в БУС по умолчанию предусмотрена возможность настройки многосайтовости тоже для двух сайтов. Правильно ли будет сразу или потом, докупить третью лицензию, специально, для технического сайта, или третья лицензия совершенно ни к чему, поскольку сайт технический, а не для публичного показа?
т.е. не реальный сайт
Вопрос ещё был связан с сомнение насчёт обновлений Битрикса. Как я понимаю, система обновления использует папку upload, которая должна быть в корневой папке, где технический сайт, т.е. на одном уровне с папкой bitrix. А, при регистрации лицензионного ключа на сайте Битрикса есть форма, где просят указать все домены сайтов, где будет использоваться копия БУС, в т.ч. адреса, используемые для разработки. Я подумал, что если в форме регистрации Битрикса не указать адрес технического сайта (или указать не существующий адрес xrumxrumxrum4535345.ru), то могут быть проблемы с обновлениями Битрикса или обновлениями сторонних разработчиков. Но, если на сайте обновлений Битрикса адреса не проверяются, а только номер лицензии, то, наверное, мои сомнения беспочвенны.
система находилась в каталоге /public_html/, основной сайт
затем был добавлен новый домен по соседству с /public_html.
Многосайтовость развернута внутри /public_html, то есть
site2 перенесен в /public_html
итого структура /public_html/site1/
/public_html/site2/
/public_html/shared/
не проявятся ли в данном случае проблемы о которых вы пишите?
сделайте, чтобы второй сайт был /site2/public_html - мы так делаем (на таймвэбе)