Правильный способ ссылки на поддомен текущего URL в Drupal

Как правильно создать ссылку на поддомен текущего URL в Drupal 7?

Т.е. если я нахожусь на http://example.com/content123, ссылка будет указывать на http://subdomain.example.com/content123, таким образом, сохраняя текущий URL, только добавляя поддомен.

4 ответа

Решение

Здесь есть два подхода. Первый пример, который я показал, позволит вам получить доступ к корневому домену и добавить новый поддомен. Второй пример просто добавит новый поддомен к текущему хосту.

Добавить поддомен в корневой домен

<?php
$new_subdomain = 'subdomain';
$split_domain = explode('.',$_SERVER['HTTP_HOST']);
echo $new_subdomain.'.'.$split_domain[count($split_domain) - 2].'.'.$split_domain[count($split_domain) - 1];
?>

Добавить поддомен к текущему хосту

<?php
$new_subdomain = 'subdomain';
echo $new_subdomain.'.'.$_SERVER['HTTP_HOST'];
?>

Посмотрите на функцию url() в Drupal. Позволяет создать ссылку на путь на определенном языке.

"язык": необязательный объект языка. Если путь, по которому идет ссылка, является внутренним по отношению к сайту, $options['language'] используется для поиска псевдонима для URL. Если $ options ['language'] опущен, будет использован глобальный $language_url.

То, что вы ищете, - это какой-то.htaccess или похожий, так как использование PHP в этом вопросе не лучший способ.

Наиболее "правильный" способ обработки страниц на альтернативном языке - на стороне клиента, используя:

 <link rel="alternate" hreflang="es" href="http://es.example.com/" />

Любой современный браузер должен справиться с остальным.

Я уверен, что Drupal вставит их для вас, если вы Google Hreflang Drupal.

Вот:

http://drupal.org/node/1200030

Другие вопросы по тегам