У меня несколько доменов, но хочется, чтобы при наборе любого из них всегда открывался только один.
Допустим у вас есть два домена: example-site.com и examplesite.com, но вы хотите, чтобы при наборе в браузере: examplesite.com,
www.examplesite.com, examplesite.com вас всегда перенаправляло по адресу:
www.example-site.com. Такое часто нужно, для корректной работы поисковых систем, чтобы сайты не считались отдельными и не индексировались отдельно.
Самое простое, сделать это с помощью модуля mod_rewrite в apache. В файл .htaccess, который находится в корне сайта нужно добавить строки:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?examplesite.com$ [OR]
RewriteCond %{HTTP_HOST} ^example-site.ru$
RewriteRule ^(.*)$
http://www.example-site.com%{REQUEST_URI} [R=301,L]
</IfModule>
Обратите внимание, что по умолчанию в файле .htaccess свежеустановленного Drupal строки:
<IfModule mod_rewrite.c>
RewriteEngine on
....
</IfModule>
уже есть. Таким образом, снова эти строчки добавлять не надо, надо вставить строки RewriteCond и RewriteRule точно сразу после RewriteEngine on, до всех остальных правил преобразования адресов модулем mod_rewrite.
Если вы используете подобное решение для того, чтобы указать индексирующим машинам, типа Yandex, что данный домен является основным, не забудьте добавить следующую строку в файл robots.txt, который также находится в корне вашего сайта:
Host:
www.example-site.com
чтобы Yandex знал, что именно сайт с именем
www.example-site.com нужно считать основным!