PDA

Просмотр полной версии : Как сделать, чтобы при открытии сайта http://domain.ru посетитель перенаправлялся на


Alexander
09.04.2009, 17:09
Как сделать, чтобы при открытии сайта http://domain.ru посетитель перенаправлялся на http://www.newdomain.ru?
Для того, чтобы включить перенаправление, необходимо в файл .htaccess, расположенный в директории www/htdocs/ добавить следующие строки:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)?.domain.ru$
RewriteRule ^(.*)$ http://www.newdomain.ru/$1 [L,R=301]

где:

domain.ru - имя вашего домена (перенаправление сработает и при наборе www.domain.ru (http://www.domain.ru))
www.newdomain.ru (http://www.newdomain.ru) - адрес, на который Вы желаете перенаправлять посетителя.

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

Допустим у вас есть два домена: example-site.com и examplesite.com, но вы хотите, чтобы при наборе в браузере: examplesite.com, www.examplesite.com (http://www.examplesite.com), examplesite.com вас всегда перенаправляло по адресу: www.example-site.com (http://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 (http://www.example-site.com)

чтобы Yandex знал, что именно сайт с именем www.example-site.com (http://www.example-site.com) нужно считать основным!