[Решено] Как сделать мультиязычность с помощью поддоменов на D7?

Главные вкладки

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 2:04

Комрады, стыдно признаться, но этого ранее не делал никогда. За все долгие года рабоы с друпалом (начиная с 4.7.х).
Суть в чем - как правильно разместить версию сайта на поддомене?

Исходные данные.
Сайт www.example.com , на нем конент, разбитый по языкам.
Есть поддомен en.example.com, который физически существует и ссылается на папку /en в корне виртуального хоста.
Домен и поддомен на одном хосте.
Оба активны и рабочие.
На сайте настроены языки + определение и выбор через префикс домена.

Вопрос.
Как правильно заставить работать движок так, что бы основной язык был на основном домене, а en - на en.example.com ? При условии использоания одного движка и по сути одного сайта/базы.

----
Маны искал, но тщетно. Вопрос касается именно поддоменов. Буду признателен за хороший ман на англ/русс. языках.
Или инструкцию.

Заранее спасибо.

Комментарии

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 11:39

Ага.
Но как быть с основным набором модулей?
Как я понимаю из описания - он требует создания папки (в sites) мс отдельным набором модулей. Или я заблуждаюсь?

Я поставил этот модуль, настроил в админке поддомен + добавил изменения в сеттинггс + сделал ребилд правил доступа.
Но какие мои дальнейшие действия? Вот тут у меня пробел..

Не могли бы вы мне помочь с этим вопросом в виде последовательности моих действий?
Заранее благодарю.

Аватар пользователя ttenz ttenz 24 октября 2015 в 11:55

модули одни для всех.

давно ставил, я ставил https://www.drupal.org/project/domain_locale и там выбираешь для каждого домена свой дефолтный язык.(admin/structure/domain/view/2/language)

+ https://www.drupal.org/project/domain_variable

чтение:
http://reyero.net/drupal/internationalization_domain_access_multilingual...
http://herbal-jazz.net/2013/08/drupal-create-and-translate-content-on-a-...
https://www.drupal.org/node/1921596

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 14:04

Огромнейшее спасибо. Попробую разобраться.

п.с. признаться, никогда этого не делал за 10 лет работы с друпалом... даже стыдно стало )

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 17:00

Есть вопрос, в котором не могу разобраться.
Я поставил domen модуль + сопуствующие, создал доп домен + он есть созданный непосредственно в админке хостинга и на него через фтп есть доступ.
Но при попыте ссылаться на него он тянет данные из той папки, на которую нацелен.
Вопрос вот в чем - какие должны быть мои действия, что бы этот поддомен увидел сам движок друпала?
создать папку в sites/all ? вот тут я не могу понять что нужно делать дальше..

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 17:56

Да, я это сделал.
http://i.shotnes.com/a/24/xsp5lxtw.l5p_562b9c0c4c5d9.png
И вот тут момент. При редактировнии поддомена выдает вот это
http://en.*******.com/sites/all/modules/domain/domain/tests/200.png is not responding as expected and may not be configured correctly at the server level. Server code 404 was returned.

Такой момент.
Поддомен создан ок. На него есть доступ (он в отдельной папке. То есть если основной сайт лежит в www, то поддомен в папке en на одном уровне с www.
По ссылке я прочитал, спасибо за наводку. Но мне кажется, что проблема у меня как раз в том, они в разных папках..
Я кажется запутался (

Аватар пользователя Andruxa Andruxa 24 октября 2015 в 17:56

1. Виртуальных хосты вебсервера должны иметь один и тот же DocumentRoot, указывающий на папку с друпалом.
2. В settings.php надо заинклудить settings.ini модуля domain

Quote:

3. Add the following four lines of code to your settings.php file:

/**
* Add the domain module setup routine.
*/
include DRUPAL_ROOT . '/sites/all/modules/domain/settings.inc';


подробности - в INSTALL.txt и INSTALL_QUICKSTART.txt модуля.

3. Файл settings.php должен лежать в sites/default, если нет мультидоменности и в sites нет папок с другими доменами, либо в какой-нибудь папке domains и настроенным файлом sites/sites.php, в котором для всех доменов надо указать эту папку.

Аватар пользователя t1mm1 t1mm1 24 октября 2015 в 17:59

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

Ребятки, огромное спасибо за помощь в вопросах.

Аватар пользователя Andruxa Andruxa 24 октября 2015 в 18:12

"t1mm1" wrote:
Но мне кажется, что проблема у меня как раз в том, они в разных папках.

да, по-моему, правильно кажется

Допустим, есть 3 домена, которые должны работать с domain access:
example.com
example.org
example.biz

Соответственно, друпал развёрнут в какой-нибудь папке
/var/www/example-sites

Для хостов example.* надо настроить DocumentRoot = /var/www/example-sites
Или создать один виртуальный хост example.com и указать ServerAlias example.org и example.biz
Это для апача, разумеется.

Аватар пользователя ttenz ttenz 24 октября 2015 в 18:19

у меня всё в одной, просто в nginx ********.ru.conf прописано

server {
   
    server_name www.********.ru;
    return 301 $scheme://*********.ru$request_uri;

server_name www.*********.com;
    return 301 $scheme://**********.com$request_uri;