- RU
- EN
Как настроить 301 редирект для сайта с несколькими доменами
Добрый вечер, друзья! Столкнулись недавно с такой проблемой: если настраивать классический 301 редирект для домена:
RewriteRule ^(.*)$ http://delo-sochi.ru/$1 [R=301,L]
почему-то он работает только для главной страницы сайта, а для внутренних страниц не работает. Т.е. фактически у страницы на сайте столько же дублей, сколько доменов подключено к сайту:
domain1.ru/123
domain2.ru/123
и т.д.
А мы понимаем, что для SEO это очень плохо. Но мы сможем грамотно настроить 301 редирект с помощью куска кода в файле htaccess.
Правильный код для файла htaccess
Это код для файла .htaccess на Wordpress-сайте с несколькими доменами:
site1.ru, site2.ru, xn--80aswg.xn--p1ai - неосновные домены
если ваш сайт русскоязычный - например, сайт.рф - то правильно его прописывать так: xn--80aswg.xn--p1ai
mainsite.ru - основной домен
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
# Наша часть про домены (порядок расположения блоков имеет значение)
RewriteCond %{HTTP_HOST} ^xn--80aswg\.xn--p1a$ [OR]
RewriteCond %{HTTP_HOST} ^www\.xn--80aswg\.xn--p1a$ [OR]
RewriteCond %{HTTP_HOST} ^site1\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.site1\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^site2\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.site2\.ru$
RewriteRule ^(.*)$ "http\:\/\/main-site\.ru\/$1" [R=301,L]
# Стандартный файл .htaccess для Wordpress (не меняем)
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- - -
Эту страницу находят по запросам:
- редирект всех страниц на другой домен
- редирект с www на без www https
- редирект с одного домена на другой dns
- как настроить редирект 301
- грамотный редирект 301
- 301 редирект php
- редирект с www перенаправление не настроено