Показать сообщение отдельно
Старый 09.04.2009, 17:10   #2
Alexander
Administrator
 
Аватар для Alexander
 
Регистрация: 12.05.2008
Сообщений: 460
Записей в дневнике: 3
Alexander is infamous around these parts
По умолчанию

У меня несколько доменов, но хочется, чтобы при наборе любого из них всегда открывался только один.

Допустим у вас есть два домена: 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 нужно считать основным!
Alexander вне форума   Ответить с цитированием