Показать сообщение отдельно
Старый 27.10.2010, 11:37   #6
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

ну да, недочитал про "отключаем RealURL - начинает работать нормально"...
Значит проблема с ним... А что, если убрать "свои" настройки для RealURL и попробовать по-умолчанию? Будет ли работать?
И еще... Может что-то есть здесь: http://dmitry-dulepov.com/article/re...-easy-way.html
Перевод этой статьи:
Цитата:
Легкое разделение языковых доменов при помощи RealURL
TYPO3 имеет полную поддержку создания многодоменных сайтов. Все знают параметр L в URL. Но что, если нужно создать раздельные домены для каждого языка в одном дереве страниц? До недавнего времени это было непросто сделать, и требовало определенной черной магии TYPO3. Здесь описано, как это сделать за 5 (или меньше) минут, а в качестве подарка получить лучшие позиции сайта в Google.
Обычно, при переключении языка сайта, в URL присутствует переменная L ('&L=1'). При использовании RealURL это будет выглядеть лучше, URL станет похож на http://example.com/en/. Вид значительно улучшился.
Проблема в том, что Google и другие поисковые движки предпочитают сервера в пользовательской доменной зоне. При одной ссылке, Google предпочтет домен «ru», домену «com», для русского и домен «de», для немецкого сайта. Поэтому, для поисковой оптимизации, становиться важным иметь домен в соответствующей стране зоне. Зарегистрировать домен просто, но как заставить RealURL использовать его, оставаясь в одном дереве страниц.
Разрешение этой проблемы — удаление языкового сегмента из URL, и преобразование http://example.com/ru/mypage в http://example.ru/mypage/ .
Возможно заполучить такие домены в TYPO3 после некого нетривиального колдовства с TypoScript. В качестве альтернативы — посредством написания кода. Но значительно проще, лучше и быстрее использовать RealURL.
Возможности RealURL для «языковых доменов»
Начиная с версии 1.5.0 RealURL поддерживает «языковые домены». Это именно то, что было описано выше: преобразование http://example.com/ru/mypage в http://example.ru/mypage/ прозрачно и без серьезных услий в TYPO3. Эта особенность требует лишь небольшой настройки RealURL.
Требования для настройки языковых доменов
Для включения языковых доменов, в настройках RealURL должно быть следующее:
определение языковых переменных в разделе preVars (смотрите выше)
специальную настройку _DOMAINS
С первой частью вопросов не возникает. А второе — что-то новенькое. Давайте сделаем ее!
Настройка _DOMAINS в RealURL
Настройка _DOMAINS описывает, как преобразуются значения параметров в URL в доменное имя. Другими словами, связывает переменную &L=0 с example.de, а &L=1 с example.ru.
Поддержка для этих языков настраива­ется в preVars примерно так:
'preVars' => array(
    array(
        'GETvar' => 'L',
        'valueMap' => array(
            'de' => 0,
            'ru' => 1
        ),
    ),
),
Теперь нужно определить, как эта preVar преобразуется в домены. А вот как:
'_DOMAINS' => array(
    'encode' => array(
        array(
            'GETvar' => 'L',
            'value' => '0',
            'useConfiguration' => 'example.com',
            'urlPrepend' => 'http://example.de'
        ),
        array(
            'GETvar' => 'L',
            'value' => '1',
            'useConfiguration' => 'example.com',
            'urlPrepend' => 'http://example.ru'
        )
    ),
    'decode' => array(
        'example.de' => array(
            'GETvars' => array(
                'L' => '0',
            ),
            'useConfiguration' => 'example.com'
        ),
        'example.ru' => array(
            'GETvars' => array(
                'L' => '1',
            ),
            'useConfiguration' => 'example.com'
        )
    )
)
Что здесь делается?
Первая часть кодирует URL. Здесь говориться, что при L=0 RealURL должно подставить http://example.de в URL (обратите внимание, без слеша в конце!). Для L=1 RealURL должно подставить http://example.ru в URL. Просто, не правда ли?
Вторая часть нужна для расшифровки. Она говорит RealURL, какой параметр L нужно установить, когда пользователь приходит на соответствующий домен. Также просто.
И финальное дополнение к настройкам:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['example.de'] =
    $TYPO3_CONF_VARS['EXTCONF']['realurl']['example.ru'] = 'example.com';
Не забудьте добавить две новых записи для языковых доменов на корневую страницу в модуле Список.

Последний раз редактировалось Андрей Аксенов; 27.10.2010 в 11:48 Причина: Добавил перевод статьи
Андрей Аксенов вне форума   Ответить с цитированием