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.
  • Вопрос задан
  • 3582 просмотра
Решения вопроса 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>


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

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

Похожие вопросы