Продолжу серию публикаций про хостинг и Битрикс.
Одна из самых распространенных платформ хостинга - это CPanel. В целом в ней все хорошо, но по умолчанию есть такая проблема - дополнительные домены для аккаунта по умолчанию создаются внутри папки public_html основного домена.
К сожалению, при настройке многосайтовости в Битрикс это приводит реально к большим проблемам с ЧПУ и работой комплексных компонентов - фактически, они перестают работать из-за того, что Битрикс неправильно считает что многосайтовость настроена по первому (обычно никому не нужному способу), и толкает настройки ЧПУ в соответствующий файл urlrewrite на главном сайте.
Поэтому при работе на CPanel необходимо, чтобы ваш хостер разрешал создание поддоменов вне папки public_html
Вот и все нюансы.
Дополнено:
Пример, как этого добиться, решение проблемы
[spoiler]
1. Создаем основной сайт
2. Добавляем другой домен, подпапкой в папке основного сайта
3. Создаем в битрикс 2 сайта по второму способу многосайтовости
4. в корень каждого сайта естественно, кладем .htaccess и urlrewrite.php
5. создаем два инфоблока новости
6. создаем в каждом сайте папку "news", кидаем в index.php комплексный компонент новости и включаем в нем ЧПУ
7. в результате в первом сайте, который верхний, в urlrewrite.php появляются две такие записи
Получается странная вещь:
1. На втором сайте urlrewrite.php не работает
2. на первом сайте почему-то идут ссылки на второй сайт как на подпапку, хотя такого не предполагалось
3. Поскольку на обоих сайтах могут быть одинаковые разделы, но с разными настройками, реально они перестают работать.
ну и другие проблемы, с этим связанные.
Решение (подсказано читателями):
1-й вариант - требовать от хостера включения возможности размещать дополнительные домены вне папки public_html
2-й вариант - создавать сначала "фиктивный" домен, а потом уже создавать нормальные домены. тогда они будут все на одном уровне и все будет ок
Одна из самых распространенных платформ хостинга - это CPanel. В целом в ней все хорошо, но по умолчанию есть такая проблема - дополнительные домены для аккаунта по умолчанию создаются внутри папки public_html основного домена.
К сожалению, при настройке многосайтовости в Битрикс это приводит реально к большим проблемам с ЧПУ и работой комплексных компонентов - фактически, они перестают работать из-за того, что Битрикс неправильно считает что многосайтовость настроена по первому (обычно никому не нужному способу), и толкает настройки ЧПУ в соответствующий файл urlrewrite на главном сайте.
Поэтому при работе на CPanel необходимо, чтобы ваш хостер разрешал создание поддоменов вне папки public_html
Вот и все нюансы.
Дополнено:
Пример, как этого добиться, решение проблемы
[spoiler]
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-й вариант - создавать сначала "фиктивный" домен, а потом уже создавать нормальные домены. тогда они будут все на одном уровне и все будет ок