Содержание

301 редирект htaccess на другой домен

Небольшая инструкция по настройке перенаправлений с поддоменов на веб-сервере Apache с помощью .htaccess.

Редирект со всех поддоменов на основной домен

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+).site.ru$
RewriteRule (.*) https://site.ru/$1 [L,R=301,QSA]
Цель:
  • Учитываем различные виды поддоменов.

Перенаправление с одного домена на другой домен

RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]
Цель:
  • Перенаправление на основной домен или любой другой домен.

Редирект с одного поддомена на домен

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^poddomen.site.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru%{REQUEST_URI} [R=301,NC,L,QSA]

Редирект с WWW на без WWW одного домена

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^site\.ru [NC]
RewriteRule (.*) https://site.ru/$1 [R=301,L]

или

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Цель:
  • Склейка дубликата по www с главным зеркалом

htaccess: ограничение доступа к dev по ip

Делаем редирект с поддомена dev на главный домен, если ip не входит в диапазон значений:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^dev\.site\.ru$
RewriteCond %{REMOTE_ADDR} "!^хх\.хх\.хх\.хх"
RewriteRule .* https://site.ru/$0 [QSA,L,R=permanent]
  • Где хх\.хх\.хх\.хх — ваш IP адрес компьютера, с которого производите посещения (т.е. задаем исключение, кому разрешаем доступ к тестовым версиям).
  • Если несколько IP -адресов — добавляете строчки.
Цель:
  • Ограничить доступ для других лиц;
  • Не позволять индексировать поисковикам тестовые домены.

Также узнайте: Чем отличается 301 редирект от 302?

Обновлено: 04.08.2020 6281

как сделать и настроить переадресацию сайта с одного домена на другой

В этой статье мы рассмотрим, как настроить постоянный 301 htaccess редирект.

Редирект — автоматическое перенаправление с одной страницы на другую. Например, если настроить редирект с site1.ru на site2.ru, пользователи, которые будут вводить в адресную строку браузера

site1.ru, сразу попадут на сайт site2.ru. Существует два вида перенаправления со страницы на страницу или с одного домена на другой: постоянный редирект (301) и временный редирект (302). Редиректы можно настраивать через конфигурационный файл htaccess: Что такое .htaccess?

В каких случаях нужно использовать редирект

  • Если сайт переехал на другой домен, 301 редирект поможет избежать ошибки 404, сохранить посетителей и поисковую позицию. 
  • На нескольких страницах есть повторяющийся контент. Этот фактор препятствует ранжированию. Установите редирект, чтобы поисковые роботы не понижали ваш сайт в поисковой выдаче. 
  • Вы купили SSL-сертификат. По умолчанию сайты работают по небезопасному протоколу HTTP. Чтобы защитить данные, нужно перенести сайт на протокол HTTPS. 
  • Для склейки сайтов с «www» и «/» для SEO.

Чтобы узнать, как прописать 301 редирект htaccess с HTTP на HTTPS, воспользуйтесь отдельной подробной инструкцией: Редирект с HTTP на HTTPS. Настройка редиректа в остальных случаях описана ниже.

Внимание! Если вы используете IDN-домен (например: сайт.рф), прописывайте его в формате Punycode. Для этого вы можете использовать Punycode-конвертер.

Как настроить редирект через htaccess

Перенаправление можно настроить, добавив строки кода в файл htaccess. Примеры редиректов:

 

С домена на домен

RewriteEngine On

RewriteCond %{HTTP_HOST} old-domain.ru

RewriteRule (.*) http://new-domain.ru/$1 [R=301,L]

    

Замените:

old-domain.ru на домен, с которого осуществляется редирект;

new-domain.ru на домен, на который осуществляется редирект.

 

С домена с WWW на домен без WWW

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC]

RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]

 

Замените domain.ru на имя вашего домена.

 

С домена без WWW на домен с WWW

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.ru

RewriteRule (.*) http://www.domain.ru/$1 [R=301,L]

 

Замените domain.ru на имя вашего домена.

 

Со всех страниц одного домена на главную страницу другого

RewriteEngine On

RewriteRule ^$ http://domain.ru [R=301,L]

 

Замените domain.ru на домен, на который будет осуществляется редирект.

Как настроить редирект через htaccess на хостинге 2domains

Если у вас есть хостинг 2domains с панелью управления ISPmanager, воспользуйтесь инструкцией.

Убедитесь, что домен добавлен в панели управления: Как добавить домен в панели управления?

  1. Перейдите в панель управления хостингом ISPmanager.

  2. Перейдите в раздел «WWW-домены», кликните по домену, с которого будет происходить перенаправление на другой сайт, и нажмите Каталог:

htaccess redirect 1

  1. Дважды кликните по файлу htaccess или создайте его, если его нет (нажмите Создать в верхней панели и введите название .htaccess — не забудьте точку):

htaccess redirect 2

  1. Добавьте в файл код из списка выше (в зависимости от того, какой редирект нужен) и сохраните изменения, нажав Ok:

htaccess redirect 3


Готово! Мы рассмотрели, как сделать 301 редирект. После внесения изменений в файл .htaccess и сохранения переадресация сайта будет работать.

301 редирект c сайта с поддомена на основной домен через htaccess в 2020

301 редирект с сайта с www на без www позволяет осуществить полный переезд сайта на одну из версий и закрепить единое главное зеркало.

С поддомена на основной домен

Если требуется выполнить условие перенаправления для всех поддоменов без исключения:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(.+).domain.ru$
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]

Когда речь идет о конкретном поддомене следует использовать:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как сделать редирект через файл htaccess

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.

Файл htaccess на сервереФайл htaccess на сервере

Вводим нужное нам правило.

прописанный редирект в htacessпрописанный редирект в htacess

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

https://webmaster.yandex.ru/tools/server-response/

Здесь вводим адрес первой страницы и видим следующее:

Проверка 301 редиректа через сервисПроверка 301 редиректа через сервис

Как видим правило применилось и работает корректно.

Как сделать 301 редирект (переадресацию) через htaccess в 2020

Редирект (перенаправление или форвардинг) —позволяет автоматически переадресовать пользователя, посетившего страницу А на страницу Б. Например, пользователь, пытающийся открыть страницу site.ru/page1/ будет попадать на site.ru/page2.

Как сделать редирект через файл htaccess

Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:

Redirect 301 site.ru/page1/ site.ru/page2/

Где:

  • page1- страница которая будет переадресовывать;
  • page2 – открывающийся документ.

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.

Файл htaccess на сервереФайл htaccess на сервере

Вводим нужное нам правило.

прописанный редирект в htacessпрописанный редирект в htacess

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

https://webmaster.yandex.ru/tools/server-response/

Здесь вводим адрес первой страницы и видим следующее:

Проверка 301 редиректа через сервисПроверка 301 редиректа через сервис

Как видим правило применилось и работает корректно.

Как сделать перенаправление на другой домен?

В этом случае необходимо автоматически перекидывать всех пользователей с домена domain1.ru на domain2.ru при помощи функции:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.ru$

RewriteRule ^(.*)$ http://www.domain2/$1 [R=301,L]

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} !robots.txt

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

301 редирект с домена без WWW на с WWW

В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

</IfModule>

Если же первый способ не помог можно использовать данную версию:

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

</IfModule>

С www на без WWW

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]

</IfModule>

Также имеется второй метод не требующий ввода доменного имени:

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

</IfModule>

C https на http

При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} 1 [NC]

RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

301 редирект на http для одной страницы

В этой ситуации подойдет:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} 1 [NC]

RewriteCond %{REQUEST_URI} ^/нужная-страница$

RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} !^/необходимая-страница$

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:X-HTTPS} 1 [NC]

RewriteCond %{REQUEST_URI} ^/необходимая-страница$

RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC]

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Форвардинг на https для конкретной страницы

Для этой цели можно воспользоваться:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} ^/Необходимая директория_страница$

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

С несуществующего файла

В этом случае можно будет применить:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?domain.ru$

RewriteCond %{REQUEST_URI} ^/robots.txt$

RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]

Также подойдет второй способ:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Перенаправление на подкаталог

В этом случае возможно пербрасывать пользователей с poddomen.domain.ru на подкаталог poddomen.

Способ 1:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/poddomen
RewriteCond %{HTTP_HOST} ^poddomen.domain.ru$ [NC]
RewriteRule ^index.php(.*)$ /poddomen/$1 [L,QSA]

Способ 2:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^poddomen.domain.ru$
RewriteCond %{REQUEST_URI} !/poddomen/
RewriteRule ^(.*)$ /poddomen/$1 [L]

В случае, когда речь идет о www.poddomen.doamin.ru необходимо применить:

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?poddomen\.domain\.ru$

RewriteCond %{REQUEST_URI} !/poddomen/

RewriteRule ^(.*)$ /poddomen/$1 [L]

С любой страницы на главную

В этой ситуации поможет:

RewriteEngine On
RewriteBase /

RewriteRule ^(.*)$ index.php [L,QSA]

С поддомена на основной домен

Если требуется выполнить условие для всех поддоменов без исключения:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(.+).domain.ru$
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]

Когда речь идет о конкретном поддомене следует использовать:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

301 редирект или переадресация через .htaccess

Поделись, не будь жмотом

Последнее обновление

Время чтения: 2 минуты

301 редирект (301 Moved Permanently) — это перенаправление пользователя с одной страницы (url) на другую.

Зачем нужен 301 редирект

  • передача ссылочного веса
  • правильное избавление от старых страниц
  • сохранение позиций (полное или частичное) при смене урлов
  • избавление от дублей внутри сайта (если такое есть)
  • переезд сайта на новый домен или протокол HTTPS
  • склейка доменов

Как сделать 301 редирект с помощью файла .htaccess?

Примеры будем рассматривать на сайте вида site.ru

Склейка домена с www с вариантом без

Для поисковых систем site.ru и www.site.ru — это два разных домена. Если у вас не настроена переадресация с одной версии домена на другую, в выдаче поисковых систем могут появиться дубли страниц. При базовой технической оптимизации в файле robots.txt прописывается обязательное правило с указанием главного зеркала сайта, но также для подстраховки необходимо настроить и редиректы. Это не будет лишним точно.

Настраиваем редирект с http://www.site.ru на site.ru. Здесь главное зеркало сайта это http://site.ru

RewriteCond %{HTTP_HOST} ^www\.(.*)$

RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

301 редирект при переезде на HTTPS

Поисковые системы в последние годы обозначили тренд на безопасность и рекомендуют всем вебмастерам переводить сайты на защищенный протокол https

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Если нужно сделать наоборот:

RewriteCond %{HTTPS} «on»

RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Стандартная переадресация с одной статической страницы на другую

Часто бывает, что на сайте какие-либо страницы устаревают, становятся неактуальными или просто вебмастеру необходимо привести урл страницы к ЧПУ виду.

Например, нужно настроить 301 редирект со страницы http://www.site.ru/page1/ на страницу http://www.site.ru/prodvizhenie-saytov/

RewriteCond %{REQUEST_URI} ^/page1/$

RewriteRule ^.*$ http://www.site.ru/prodvizhenie-saytov/? [R=301,L]

301-редирект с домена на домен

Иногда бывают ситуации, когда необходимо настроить редиректы с одного домена на другой. Например, у вас был молодой, не трастовый домен, а со временем появился откуда-то прокачанный, трастовый (купили может). Или владельцу сайта надоело старое название домена и резко захотелось его поменять на другое.

Для полной передачи веса с одного домена на другой одних редиректов будет не достаточно, но об этом не в этой статье.

RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.newsite.ru/$1 [R=301,L]

Если ваш домен находится в зоне РФ

RewriteCond %{HTTP_HOST} ^xn-…\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Переадресация на папки со слешем в конце /

Иногда на сайтах встречаются дубли страниц вида http://www.site.ru/prodvizhenie-saytov/ и http://www.site.ru/prodvizhenie-saytov

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]

Перенаправление с индексной страницы php (index.php) на саму папку (корень)

Иногда у сайтов может появляться «технический мусор» из-за особенностей админки или каких-либо других причин. Например, главная страница сайта бывает часто доступна по адресу вида http://www.site.ru/index.php и может присутствовать в индексе поисковых систем, мешая ранжированию главной страницы в поисковой выдаче.

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.ru/ [R=301,L]

Для всех индексных страниц на сайте:

RewriteRule ^(.*)index\.php$ http://www.site.ru/$1 [R=301,L]

301 редирект с поддомена на основной домен

RewriteCond %{HTTP_HOST} ^test.site.ru$ [NC]

RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} [R=301,NC,L,QSA]

Переадресация с одного домена на другой (редирект домена)

Периодически, к нам обращаются наши клиенты, с вопросом, как сделать переадресацию сайта с одного домена на другой. Как правило, этот вопрос задают в двух вариантах:

  • сайт открывается по 2 адресам: www.mysite.ua и mysite.ua (для поисковых машин это существенная разница и они воспринимают 2 адреса, как 2 разных сайта), поэтому необходимо сделать чтобы при обращении к страницам сайта с www, шла переадресация на такие же страницы сайт без www, например с http://mysite.ua/news/ на http://www.mysite.ua/news/ (или наоборот).

  • у вас есть несколько доменов, основной mysite.ua и альтернативный my-site.ua и/или кириллический мойсайт.укр. Необходимо, чтобы при наборе в браузере адреса my-site.ua и/или мойсайт.укр посетитель автоматически перенаправился на сайт mysite.ua.

1. Перенаправление домена в файле .htaccess.

1.1. С www-домена на основной домен

Если на вашем сервере включен модуль mod_rewrite, то того, чтобы настроить переадресацию с адресов, начинающихся с www на аналогичные без www, нужно в файле .htaccess, в корневой папке www вашего сайта прописать следующие строки:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

1.2. С основного домена на www-домен

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

1.3. С одного домена на другой

Задача может быть решена так же как и первая, для настройки перенаправления посетителей с одного доменного domain1.ua имени на другое domain2.ua вы можете использовать соответствующие директивы в файле .htaccess.

Сделать на старом домене domain1.ua файл .htaccess, с содержанием:

RewriteEngine On
RewriteCond %{HTTP_HOST} domain1.ua
RewriteRule (.*) http://domain2.ua/$1 [R=301,L]

1.4. Перенаправление с нескольких доменов

Необходимо сделать переадрессацию с доменов domain1.ua и www.domain1.ua на новый домен domain2.ua, для это впишите:

RewriteCond %{HTTP_HOST} ^domaim1\.ua
RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain1\.ua
RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]

Аналогично можно делать перенапрвление с domain.ua на domain.com и т. п.

Однако если вы размещаетесь на тарифном плане с ограниченным числом доменов, включенных в тариф, то настройка сайта с одним только файлом .htaccess лишит вас еще одного домена в квоте по тарифу, что не всегда приемлемо. В этом случае можно воспользоваться специальным сервисом панели управления хостингом.

2. Перенаправление домена в панели управления хостингом

На примере панели управления «cPanel»

101

Вы можете выбрать варианты перенаправления – 301 или 302.

301 редирект — это постоянное перенаправление. Т.е. при установке 301 редиректа всем, в том числе поисковым машинам, будет сообщено, что запрашиваемая страница навсегда «переехала» на новый адрес. Такое перенаправление необходимо, например, при переезде с одного доменного имени на другое. Таким образом, вы не потеряете поисковый трафик, а поисковые машины будут оповещены о смене адреса.

302 редирект — это временное перенаправление. Таким образом, пользователи, вызывая страницу, на которую установлен 302 редирект, будут получать ответ с указанного в редиректе адреса. Однако в поисковых машинах прежний адрес останется и будет удерживать свои позиции.

Также, можно выбрать опции перенаправления, связанные с синонимом сайта с www. Обратите внимание, что переадресацию с домена http://www.site.ua/ на http://site.ua/ средствами cPanel сделать не удастся. Подобный редирект создается с помощью файла .htaccess.

Управление перенаправлением выглядит довольно стандартно. Вы можете удалить созданный параметр:

102

3. Перенапрвленеи кирилличнский доменов

Переадрессация кириилических доменов ничем не отличается от обычного (на латинице). Просто необходимо использовать конвертер punycode .

Punycode – это метод преобразования символов, относящихся к стандарту Unicode, в последовательность символов, содержащих только символы в кодировке ASCII, а именно 26 букв латинского алфавита (a-z), цифры (0-9) и символ дефиса (всего 37 символов).

Домены, содержащие символы национальных алфавитов называют IDN-доменами. Некоторые сервисы не поддерживают IDN представление доменов. Поэтому не работает домен УКР или другие IDN-домены. В таком случае необходимо использовать имя домена после Punycode-конвертации.

Например, домен http://мойсайт.укр/ после кодирования (можно воспользоваться сервисом http://wwhois.ru/punycode.php) становится http://xn--80arbjktj.xn--j1amh/ , его-то мы и вписываем в уже знакомый код

RewriteEngine On
RewriteCond %{HTTP_HOST} http://xn--80arbjktj.xn--j1amh/
RewriteRule (.*) http://domain2.ua/$1 [R=301,L]


или в соответствующую строку в панели управления.

301 редирект с помощью .htaccess

Редирект 301 — зачем он нужен? В процессе продвижения сайта может возникнуть ситуация, когда необходимо изменить url страницы. Причины тому могут быть разные: переезд на новый домен, склейка дублей страниц, или даже, не к ночи будут помянуты, санкции поисковых систем. Чтобы изменить url, используется перенаправление, правильно называющееся «301 Permanent Redirect».

Что такое 301 редирект?

301 redirect действует на постоянной основе, передает со старой страницы на новую ссылочный вес, ТИЦ сайта и PR. Также, если сайт находится в каталоге Яндекс или DMOZ, страниц нового сайта в нем, разумеется, не будет. Помимо этого, используется 301 редирект на другой сайт, и перенаправление с одной версии сайта на другую. В частности так избавляются от проблем при индексации, возникающих из-за дублирования страниц сайта.

Избавление от дублей страниц также называют канонизацией.

Как настроить 301 редирект

При использовании некоторых CMS (систем управления контентом, или «движков» сайта) редирект можно настроить при помощи специальных плагинов. Однако более распространена практика настройки 301 редиректа посредством внесения изменений в файл .htaссess.

Несколько примеров использования 301 редиректа

Cклеивания зеркал сайта

Для поисковой системы modx-gu.ru и www.modx-gu.ru – разные сайты. Один из них будет проиндексирован, второй же окажется дублем. Чтобы подобного не произошло, делают так называемое «склеивание» сайта. С сайта с «www» указывается перенаправление на сайт без «www». Это делается в файле .htaccess, с помощью следующей конструкции:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your-site\.ru$ [NC]
RewriteRule ^(.*)$ http://your-site.ru/$1 [R=301,L]

Если на начальном этапе этого не было сделано, и в индекс попала версия сайта с «www», стоит сделать обратное перенаправление.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.your-site.ru/$1 [R=301,L]

Перенаправление на страницу с другим url

При использовании ЧПУ ссылок иногда возникает ситуация, когда url необходимо изменить, но исходная страница уже находится в индексе. Чтобы не потерять позиции и вес при изменении ссылки, стоит установить перенаправление с исходной ссылки с на измененную.

RewriteEngine On
RewriteRule ^(.*)url.html$ http://your-site.ru/new-url.html [R=301,L]

Перенаправление на другой домен

В ситуации, когда необходимо сменить домен, это можно сделать без потерь позиций и веса. Для этого нужно установить 301 редирект со старого домена на новый.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://new-site.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://new-site.ru/$1 [L,R=301]

Редирект алиасов на основной домен сайта

Если для сайта используется несколько доменов (алиасов), зарегистрированных в разных доменных зонах, то во избежание дублирования контента, нужно установить 301 редирект на основной домен.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-site.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^www.your-site.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://your-site.ru/$1 [R=301,L]

Убираем расширение с помощью 301 редиректа

Страницы, доступные по ссылкам с разными расширениями также признаются дублями. К примеру, есть страницы, с расширением .html и без него. Если вам нужно убрать его:

RewriteEngine on
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

Перенаправление с index.php на главную

В некоторых случаях, главная страница сайта доступна по нескольким адресам одновременно. Это также негативно сказывается на продвижении, так как говорит о дублировании контента. Избавиться от этого можно, применив следующую конструкцию:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://your-site.ru/ [R=301,L]

Страницы, в url которых встречается слеш, и страницы, в которых этого символа нет, также могут быть признаны дублями. Следующим кодом устанавливается перенаправление со страниц без слэша на страницы со слэшем:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Редирект для url с параметрами

Если исходный адрес содержит какой-либо параметр (например, http://your-site.ru/articles.php?section=1. Параметр здесь «section=1» ), то перенаправляющая конструкция будет иметь следующий вид:

RewriteEngine On
RewriteCond %{QUERY_STRING} section=1
RewriteRule ^index.php http://your-site.ru/articles.php? [R=301,L]

Полезное видео по теме:

Стоит ли использовать 301 редирект при санкциях поисковых систем

Бытует распространенное мнение, что при попадании сайта под санкции или, как их еще называют, фильтры поисковых систем, для выхода из-под них достаточно перенести сайт на другой домен, и настроить 301 редирект. К сожалению, это не совсем так. Когда-то перенаправление на новый домен действительно помогало спастись от фильтров. Однако уже при следующем обновлении алгоритмов это было учтено. Сайт действительно уходит из-под фильтра, но только на период одного-двух обновлений. В дальнейшем санкции, наложенные на сайт на старом домене, обязательно передадутся и новому, если не будет предпринято никаких мер.

Перенаправление с помощью 301 редиректа – действенный, удобный и полезный инструмент при оптимизации сайта, и устранении недоработок и ошибок на сайте. Тем не менее, использовать его нужно аккуратно. В том случае, если вы не вполне осознаете, какие последствия может понести за собой использование редиректа, для работ над сайтом лучше привлечь специалистов.

.htaccess — 301 редирект поддомена на другой домен с htaccess

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
,

.htaccess — 301 Перенаправление на другой домен на 1 странице с исключениями

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
,

Страница не найдена —

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

,

.htaccess — Как 301 перенаправить одну страницу сайта на другую страницу в подкаталоге с помощью .htacess?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. работы Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *