xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Подмена домена языка

Опубликовано в

Если в настройках друпала стоит выбор текущего языка на основе домена, а в настройках языков прописаны реально существующие домены, то сайт становится практически невозможно девелопить на локальном компьютере — все ссылки превращаются в абсолютные и ссылаются на домен, указанный в настройках языка.

Решение — установить модуль Language Domains и прописать в settings.php что-нибудь такое:

if (strpos($_SERVER['HTTP_HOST'], '.local')) {
  $conf['language_domains']['ru'] = 'ru.mysite.local';
  $conf['language_domains']['en'] = 'en.mysite.local';
}
Написанное актуально для Drupal 7
Похожие записи

Комментарии RSS

С языками вообще интересная штука. У меня тема на основе Zen никак не хотела работать на некоторых мобильных устройствах. Всё перелопатил, недели две искал, но ничего не нашел пока не понял, что он не может определить язык по браузеру. Поставил определение по браузеру на 3-е место после языка по умолчанию и языка пользователя и сразу всё заработало.

если поставить после языка по умолчанию, то правило просто не будет срабатывать

Это понятно. Мой комментарий прямого отношения к описанной проблеме отношения не имеет, но пускай и другие узнают, что вот есть такой нюанс.

а почему нельзя в хостс прописать ип локалки для доменов?

в какой хостс? какие ип?

127.0.0.1 ru.mydomain.ru
127.0.0.1 en.mydomain.ru

как после этого пользоваться продакшен версией сайта?

#127.0.0.1 ru.mydomain.ru
#127.0.0.1 en.mydomain.ru
:)

Спасибо! Только как быть с переменной $cookie_domain в том же settings.php? У меня на многоязычном было так:
$cookie_domain = '.domain.ext';
Если не заремить эту строку, то авторизация не работает.

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании