.htaccess для drupal-сайтов на поддоменах и дополнительных доменах

, 18 лет назад Drupal 1 мин чтения

Заметка 2008 года. Версии программ и описанные приёмы могли устареть.

На индексацию вашего сайта отрицательно влияет когда сайт (не первый на площадке, а дополнительный) расположен на поддомене и доступен по адресам вида:

  • example.ru
  • maindomain.com/example-ru/
  • example-ru.maindomain.com

А если он еще и одинаково откликается на адреса с www и без, тогда эта статья была написана именно для вас.

Плохо в данном случае то, что скорее всего для поисковых систем это будут совершенно разные сайты.
Нас уверяют, что роботы-зеркальщики умеют их "склеивать", но это происходит долго, да еще и не всегда.

Решение очень простое - через директивы .htaccess (mod rewrite)
Пусть ваш дополнительный домен - example.ru, основной - maindomain.com, example-ru - поддомен на основном домене.
Вам просто надо добавить в ваш файл .htaccess строки:

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{HTTP_HOST} ^example\.ru$ [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]
 
  RewriteCond %{HTTP_HOST} ^maindomain\.com [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]

  RewriteCond %{HTTP_HOST} ^www.maindomain\.com [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]

  RewriteCond %{HTTP_HOST} ^example-ru.maindomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.example-ru.maindomain.com$
  RewriteRule ^(.*)$ http://www.example.ru/ [R=301,L]

</IfModule>

Новые комментарии закрыты: заметка из архива.