Просмотр полной версии : Как правильно организовать мультисайт
Есть сайт с такой структурой
Главная
-Раздел 1
-Раздел 2
-Раздел 3
-Раздел 4
-Страница 1
-Страница 2
-страница 3
Верхнее меню выводится из этого первого уровня, т.е Раздел 1...страница 3
Теперь задумал три первых раздела разнести на три разных домена.
А четвертый раздел и страницы хоть визуально останутся в верхнем меню в том же порядке(тоесть одно меню на все сайты), но относятся к Разделу 1(Domen1), тоесть нынешний Раздел 1 и Страницы - это разделы Domen1.
Нынешняя главная страница во фронтэнде никак не участвует.
Первый вариант.
Структуру дерева оставить прежней, просто припарковать домены к разделам.
Второй вариант.
Изменить структуру и вынести сайты в корень Typo3
Раздел 1(Domen1)
-Раздел 4
-Страница 1
-Страница 2
-страница 3
Раздел 2(Domen2)
Раздел 3(Domen3)
Верхнее меню можно и вручную слепить.
Какой вариант лучше выбрать, какие плюсы/минусы в будущем могут быть при проэктировании и расширении сайта, использование расширений.
Или же это лишь вопрос личного удобства работы в админке?
Вообще, каждый поступает по ситуации, как удобней. Я многосайтовые конструкции делаю по второй описаной Вами схеме. Это оптимальней с точки зрения управления сайтом, т.е. наделения полномочий редакторам сайтов.
Так же поступил, вынес в корень дерева отдельные сайты.
Появился вопросик. Не пойму как настроить RealUrl. Вроде все правильно сделал, но когда ставлю ссылку на сайте domen1 на страницу сайта domen2, то она получается вида domen2/index.php?id=6. Тоесть полный Url не генерируется.
Ну, для этого просто нужно правильно настроить конфиг RealUrl, тут уже писали на эту тему, повторюсь:
$RootPID = array(
'www.domen1.com' => '17',
'domen1.com' => '17',
'www.domen2.com' => '41',
'domen2.com' => '41',
...
);
т.е. привязываются доменй к узлу, и ниже:
, 'pagePath' => array(
'type' => 'user'
, 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main'
, 'spaceCharacter' => '-'
, 'languageGetVar' => 'L'
, 'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']]
, 'disablePathCache' => 0
, 'expireDays' => 7
, 'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title'
, 'excludePageIds' => null
)
А куда вписывать
$RootPID = array(
'www.domen1.com' => '17',
'domen1.com' => '17',
'www.domen2.com' => '41',
'domen2.com' => '41',
...
);
Что то никак не работает.
Это не забыли?
, 'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']]
Это не забыли?
, 'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']]
нет. не забыл
если rootpage_id больше ни где не определяется, посмотрите привязки доменов к узлам в админке, и baseurl в TS сайтов.
realurl_conf.php.
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'_DEFAULT' => array (
...............
$RootPID = array(
'domen1.ua' => '1',
'domen2.ua' => '7',
'domen3.ua' => '6',
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']],
'disablePathCache' => '0',
'expireDays' => '7',
'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title',
'excludePageIds' => 'null'
) ,
................
),
);
localconf.php
$tx_realurl_config = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen1.ua']=$tx_realurl_config;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen2.ua']=$tx_realurl_config;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen3.ua']=$tx_realurl_config;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen1.ua']['pagePath']['rootpage_id']=1;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen2.ua']['pagePath']['rootpage_id'] = 7;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domen3.ua']['pagePath']['rootpage_id'] = 6;
В TS каждого сайта прописан свой baseURL.
В админке домены созданы.
Да, вроде всё верно. И что имеем на выходе?
На сайте domen1.ua ставлю ссылку на страницу из сайта domen2.ua.
Эта ссылка выглядит domen2.ua/index.php?id=6
А должна выглядеть domen2.ua/alias/alias
Чищу все кеши.
Очень странно, такое впечатление что realurl вообще не включен.
Внутри каждого сайта все ссылки нормальные, а если сыылка на другой сайт - то нет.
А... так не обрабатываются внешние ссылки?
Всмысле все сайты в одной инсталяции Typo3. Внутри дерева отдельного сайта все норма, а если из него ставить на страниуцу из ветки другого сайта, то не генерится.
ну да, realurl воспринимает ссылку как внешний сайт - в этом причина.
Так каким образом нужно заставить генерировать полный ЧПУ на внешний сайт в одной инсталяции?
Я исчерпал варианты, надо смотреть...
А что значит внешний, есть и внутренний на этой инсталляции?
Андрей Аксенов
02.02.2011, 10:17
В шаблон сайта нужно добавить следующую конфигурацию:
# Для многодоменной конфигурации.
# Проверка страницы на связь с корневой страницей.
page.config.typolinkCheckRootline = 1
# Создание ссылок между доменами, используя схему ссылок текущего домена.
config.typolinkEnableLinksAcrossDomains = 1
# Префикс в виде тега base для локальных ссылок
config.prefixLocalAnchors = all
# Возможность показать "содержимое страницы" из другого домена
config.content_from_pid_allowOutsideDomain= 1
# Выдача заголовклв управления кешем для клиента
config.config.sendCacheHeaders = 1
# Связь результатов поиска с доменом, где они были найдены.
plugin.tx_indexedsearch.search.detect_sys_domain_r ecords = 1
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot