MToUCH
@MToUCH
Интернет-маркетолог

Мультисайтинг в Drupal 7. Как сделать переадресацию с поддомена name.site.ru на name.ru?

Есть основной сайт - site.ru
Все сайты хранятся в директории sites.
В данной директории для каждого сайта создается папка вида name.site.ru, а в файле sites.php прописывается строчка вида $sites['name.ru'] = 'name.site.ru';

При открытии сайта по адресу name.site.ru, открывается name.site.ru.
При открытии этого же сайта по адресу name.ru, открывается name.ru.

Как сделать переадресацию с name.site.ru на name.ru?
(Чтобы поддомен полностью ссылался на домен)

В директории sites/name.site.ru/ лежит файл settings.php и папки files, modules, themes.

Насколько я понимаю, способ прописать переадресацию в .htaccess в корень не подходит, т.к. это для случая с одним сайтом.
Предполагаю, что возможно стоит создать файл .htaccess в папку конкретного сайта (например, в sites/name.site.ru). Я пробовал это сделать, но переадресация не сработала, а просто выключились css-стили.

Помогите, пожалуйста. Этот фактор уже на нескольких сайтах мешает SEO.
  • Вопрос задан
  • 3543 просмотра
Решения вопроса 1
MToUCH
@MToUCH Автор вопроса
Интернет-маркетолог
Сработало! Я нашел в корне .htaccess, вставил после
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

свой код
RewriteCond %{HTTP_HOST} ^armadio.vtopmaster.ru
RewriteRule (.*) http://armadio-dv.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^dalrezerv.vtopmaster.ru
RewriteRule (.*) http://chelovekpesok.ru/$1 [R=301,L]

Решил попробовать сразу 2 сайта, и получилось. Спасибо, Эмиль, за наводку!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Aliev-Emil
Веб разработчик
Можно уточнить?

При открытии сайта по адресу name.site.ru, открывается директория sites/name.site.ru/ ?
При открытии сайта по адресу name.ru открывается директория sites/name.site.ru/ ?

____________________________________________________

Посмотрите есть ли в корневой директории сайта site.ru файл .htaccess.
Если файл существует то добавьте в нем в секцию mod_rewrite () следующие строки

RewriteCond %{HTTP_HOST} ^name.site.ru
RewriteRule (.*) http://name.ru/$1 [R=301,L]


Если файла нет то создайте его со следующим содержимым

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

  RewriteCond %{HTTP_HOST} ^name.site.ru
  RewriteRule (.*) http://name.ru/$1 [R=301,L]
</IfModule>


Это делается в корневом сайте так как вы делаете редирект не со всех доменов на один, а с одного конкретного домена на другой. Т.е. для всех остальных доменов это правило просто будет игнорироваться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы