Довольно часто для одного сайта имеется несколько доменных имен. Настройка доменных записей достаточна, чтобы сайт работал с любым доменным именем.
Однако, организация переадресации со всех вторичных доменных имен на основное позволит избежать некоторых дополнительных проблем, да и посетители будут привыкать к вашему основному доменному имени.
Например, у вас есть четыре домена mysite.ru, my-site.ru, my-site.com и mysite.com . Предположим, что вы решили сделать основным именем mysite.com . Как организовать переадресацию?
Все достаточно просто. Добавляем в .htaccess следующие строки:
## ## Redirect to common domain name mysite.com ## RewriteCond %{HTTP_HOST} mysite.ru [OR] RewriteCond %{HTTP_HOST} my-site.ru [OR] RewriteCond %{HTTP_HOST} my-site.com RewriteRule .* http://mysite.com%{REQUEST_URI} [R=301,L]
Разберем немного подробнее.
RewriteCond %{HTTP_HOST} mysite.ru [OR]
Эти строки задают условие данному правилу переадресации, что адрес хоста полученный в переменной %{HTTP_HOST} должен соответствовать указанной строке. Флаг [OR] в конце строки означает, что условие хотя-бы одной из этих строк должно выполняться.
RewriteRule .* http://mysite.com%{REQUEST_URI} [R=301,L]
Собственно, само правило переадресации. Оно говорит, что нужно переадресоваться на mysite.com и дописать путь относительно имени домена из переменной %{REQUEST_URI}. При этом параметры запроса будут добавлены автоматически.
Теперь, запрос к серверу http://www.my-site.ru/articles/?id=175 будет автоматически переадресован на http://mysite.com/articles/?id=175 . При этом в браузере клиента также будет указан уже новый адрес.