Добрый день! Кто-нибудь использует вариант многосайтовости, настроенный по первому способу, описанному в учебном курсе?
Проблема следующая (описываю дерево папок): / ../site1/ ../site2/
Существуют два сайта в корне (documentroot): 1) папка сайта: /site1/, настроен как www.site1.com 2) папка сайта: /site2/, настроен как www.site2.com
index.php в documentroot содержит код, как в учебном курсе.
При наборе в URL www.site1.com система находит путь к индексной странице сайта в публичной части сайта (/site1/index.php) и отдает ее. Аналогично для второго сайта - отдается (/site2/index.php).
Однако если в URL набран, например, такой путь: www.site1.com/test/, то обращение идет не к /site1/test/index.php, а /test/index.php. Соответственно, при обращении к www.site1.com/site2/ показывается индексная страница второго сайта, что недопустимо!
Проверял так: создал страницу /site1/site2/index.php. Набрал URL: www.site1.com/site2/ - по идее должен получить содержимое /site1/site2/index.php, однако на деле отображается /site2/index.php.
Shvakovski пишет: При наборе в URL www.site1.com система находит путь к индексной странице сайта в публичной части сайта (/site1/index.php) и отдает ее. Аналогично для второго сайта - отдается (/site2/index.php).
Два домена, две корневых папки сервера. Это многосайтовость по второму способу. Настраивайте соответственно по учебному курсу и руководствуясь статьёй выше.
Denis Sharomov пишет: Вы стали счастливым обладателем варианта первой многосайтовости, который описан в моей статье под заголовком "А если общая корневая папка?".
1. Ставим продукт в любом домене один раз. 2. Для разделения публичной части создаём в папке /var/www/denis/example папки com и net. Здесь ядро имеет путь /var/www/denis/example/bitrix для обоих сайтов, и символические ссылки создавать не требуется. 3. В настройках сайтов теперь помимо домена нужно указать папку сайта: /com и /net для первого и второго сайта. 4. Создаём индексную страницу сайта по примеру из учебного курса. Эта страница по домену будет определять текущий сайт и подключать соответствующую публичную часть. Только для этого надо было указать домены в настройках сайтов.
Денис, то есть так и получается, что если используется общая корневая папка для сайтов example.com и example.net, то при попытке обратиться к http://example.com/example/net пользователь увидит страницу из /example/net/, но произойдет это на сайте com (будет использован соответствующий шаблон)?!
В общем, на самом деле для двух доменов использовать первый способ не логично, как Вы и написали
Цитата
Первый способ предполагает, что сайты находятся в одном домене, но в разных папках. Он годится для создания сайтов на разных языках или, например, региональных сайтов одной компании.
Shvakovski пишет: Денис, то есть так и получается, что если используется общая корневая папка для сайтов example.com и example.net, то при попытке обратиться к http://example.com/example/net пользователь увидит страницу из /example/net/, но произойдет это на сайте com (будет использован соответствующий шаблон)?!
Совершенно верно, поэтому такой вариант надо делать только в крайнем случае.
Первый способ работает только в случае главной страницы сайта.
site1.ru включает индексную страницу из папки /mys1/ , site2.ru включает индексную страницу из папки /mys2/
Вот и всё что предлагает способ номер один? Код перенаправления в папку только с индекной страницы, благодаря определению по доменному имени нужной папки?
Ну вы удивили.
Как такое можно было вообще назвать многосайтовостью. Перечитал все три варианта из разных мест документации и не мог понять, неужели это имели ввиду, всё думал что-то не работает... оказалось, что это такая своеобразная шутка. "Рекомендуемый способ номер 1".
Не буду говорить, сколько времени я потратил, пока не отчаился лездть на форум в поиск.
Как такое можно было вообще назвать многосайтовостью.
Многосайтовость - это не многодоменность, а возможность привязать информацию к сайту и выводить на конкретном сайте информацию, которая только к нему относится (новости, голосования, форумы и т.д.) Это то что мы называем многосайтовостью.
А способы многосайтовости - это варианты определения текущего сайта, первый способ - по папке, второй - по домену.
Тоже столкнулся с этой проблемой. Т.е. 2 не связанных сайта (на разных доменах) будут нормально работать только при возможности настроить для них разные корневые папки. По-моему такая возможность не часто встречается при использовпнии разделяемого виртуального хостинга, а использование vps для создания двух сайтов масштаба "старт" выглядит странно.
В "помощи" и прочих "how-to" действительно явно не сказано, что функциональность многосайтовости при общей корневой папке сильно ограничена.
Цитата
А если общая корневая папка? Это не удобно в первую очередь потому что публичная часть сайтов будет общая. Но если другого варианта нет, можно настроить многосайтовость и здесь. Только для разделения публичной части в корне сайта придётся создать папки для каждого сайта и фактически получится многосайтовость по первому способу.
Попытался добиться работы 2-х сайтов при общей корневой папке путем редиректа запросов через .htaccess на разные папки. Появились проблемы с включаемыми областями страниц и цепочкой навигации. Обе проблемы возникают из-за некорректного механизма определения текущей директории при использовании многосайтовости. Хотя в настройках сайтов и указаны их директории, эти данные не учитываются ядром.
Цитата
Denis Sharomov пишет:
Многосайтовость - это не многодоменность, а возможность привязать информацию к сайту и выводить на конкретном сайте информацию, которая только к нему относится (новости, голосования, форумы и т.д.) Это то что мы называем многосайтовостью.
Цитата
Более 15 000 сайтов На «1C-Битрикс: Управление сайтом» работают и готовятся к выпуску более 15 000 различных веб-проектов.