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

Если вы ещё не знаете, зачем нужно перенаправление страниц сайта, читайте нашу статью Что такое редирект.

Для чего нужен 301-й редирект

Помимо разных способов настройки переадресации, существуют разные виды редиректов. Каждый из них имеет своё кодовое название. Основные виды:

Также существуют 304-й, 306-й и 307-й редиректы. Однако сейчас эти виды практически никто не использует. Один из самых популярных видов — это 301-й.

301-й редирект (Moved Permanently) — это постоянный редирект. Используется для перемещения страницы на новый URL-адрес насовсем. Когда поисковые системы встречают страницу с редиректом 301, они «понимают», что теперь необходимо индексировать новую страницу, а старую можно полностью исключить из индексации. Если настроить переадресацию 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего веб-ресурса.

1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Для всех страниц с http:// на https://, в том числе и с http://www на https://

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

Если все варианты не помогли и возникает циклическая переадресация:

Источник

Код состояния HTTP 301 или Moved Permanently («Перемещено навсегда») — стандартный код ответа сервера, который может быть получен, если запрошенный URL-адрес сайта был навсегда перенесен в новое месторасположение.

Проверка кода ответа. Быстрая и бесплатная проверка кодов ответа для списка URL в режиме онлайн реализована в рамках комплекса инструментов «Пиксель Тулс», предусмотрено удобное цветовое кодирование и загрузка URL файлом.

Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.

Options +FollowSymLinks
RewriteEngine On

# Текстовый комментарий, данная строчка не будет обрабатываться.

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

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

RewriteCond % ^80$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]

Redirect 301 /was.php http://www.site.ru/new.php

При этом, новый адрес указывать необходимо полностью с http и доменным именем.

RewriteRule ^dir /dir-new/$1 [R=301,L]

Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=111$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если адрес имеет следующий вид: http://www.site.ru/?abc то для перенаправления подойдет последовательность строчек:

RewriteCond % ^abc$ [NC]
RewriteRule ^$ /? [R=301,L]

Если требуется настроить переадресацию только для адреса http://www.site.ru/dir/, но при этом чтобы страница http://www.site.ru/dir/index.php?IBLOCK_ID=1 открывалась по старому адресу, необходимо использовать спецсимвол $ в правиле.

RewriteRule ^dir/$ http://www.site.ru/new-dir/ [R=301,L]

Для доменов в зоне РФ действуют все те же правила, но только все кириллические символы необходимо заменить на альтернативный код (он на латинице). В частности, сама зона .рф преобразуется в .xn--p1ai.

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

И для домена в зоне РФ:

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

RewriteCond % ^si-te\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/si-te/ [R=301,L]

RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301]
RewriteRule ^(.*)$ http://www.newsite.ru/new/ [L,R=301]

RewriteRule ^dir(.*)$ /new-file.php [L,R=301]

RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301]
RewriteRule ^dir(.*)$ /all.php [L,R=301]

RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php

RewriteRule ^img/(.+)\.jpg$ http://img.domain.ru/$1.jpg [R=301,L]

Указывается порядок загрузки типов индексного файла, лежащих в корне каталога.

DirectoryIndex index.html index.php index.htm index.shtml

RewriteCond % ^[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]

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

RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L]

Код позволяет поставить 301-редирект со всех папок вида http://site.ru/***/uniqe-file.html на один файл в корне /unique-file.html. Бывает полезен при переделке сайта и изменении ссылок.

RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC,L]

Код позволяет создать копию страницы с относительным адресом /studio/news/detail.php?ID=230354&PAGEN_2=11 по адресу /testovyi/test/

Позволяет устранить наличие дублей URL с HTTPS в индексе поисковых систем.

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

Настройка позволяет отклонить спамный реферальный трафик с ряда ресурсов по заголовку HTTP_REFERER.

Внимание, важно чтобы код ответа сервера для 404 ошибки был именно 404. Путь к файлу указывается с помощью следующей строчки:

ErrorDocument 404 /404-for-me.php

! Для сайтов, на которых используется не сервер Apache, аналогичные 301-редиректы легко настраиваются с помощью PHP.

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

RewriteCond % (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC]
RewriteRule (.*) http://mobile.site.ru/ [L,R=301]

RewriteCond % !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer) [NC]
RewriteRule (.*) http://no-search.site.ru/ [L,R=301]

Переадресация с www.site.ru/component/content/?view=featured на www.site.ru/
RewriteCond % ^view=featured$ [NC]
RewriteRule ^component/content/$ /? [R=301,L]

Переадресация с www.site.ru/index.php?idc=4&marea=6 на www.site.ru/
RewriteCond % ^idc=4&marea=6$ [NC]
RewriteRule ^index\.php$ /? [R=301,L]

. — Точка заменяет произвольный символ.
[abc] — обозначает перечень символов, совпадающих с буквами a, b, или с.
[^abc] — перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
* — означает, что предшествующий символ может повторяться (0 или более раз).
[abc]* — команда найдёт идущие подряд символы из заданного набора.
[^abc]* — с точностью до наоборот.

.* — заменяет абсолютно любой набор символов. «.*» — найдёт все подстроки между кавычками.
^ — начало строки (в том случае, если используется в начале выражения).
$ — обозначает конец строки.

\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
3 — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.

Памятка по используемым символам и обозначениям

Строчка RewriteCond — условие выполнения правила RewriteRule. Если условие выполняется, то срабатывает редирект. Правила могут задаваться с помощью регулярных выражений.

Спецсимволы, используемые в правилах и их значения.

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

Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].

Источник

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

301 редирект означает постоянное перенаправление страницы сайта на новый адрес.

Ко временным перенаправлениям относят 302, 303 и 307 редиректы. Их использование означает, что в будущем страница будет открываться по старому адресу.

Есть масса причин, по которым необходимо настраивать переадресацию страниц:

Ниже приведены наиболее часто используемые варианты для настройки 301 редиректов.

Redirect 301 %old_url% %new_url%

%old_url% — старый адрес страницы без домена

%new_url% — новый адрес страницы с указанием домена и протокола

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

RewriteEngine on
RewriteCond % ^www.correct-domain.ru
RewriteRule ^(.*)$ http://correct-domain.ru/$1 [R=301,L]

Где correct-domain.ru — адрес вашего домена.

Если нужно наоборот, чтобы сайт открывался только с www, пропишите следующий код:

RewriteEngine On
RewriteCond % ^correct-domain.ru
RewriteRule (.*) http://www.correct-domain.ru/$1 [R=301,L]

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

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

RewriteEngine on
RewriteCond % !^www\.correct-domain\.ru(:443)?$
RewriteRule (.*) https://www.correct-domain.ru/$1 [R=301,L]

Используйте следующую запись:

Ждите новые заметки в блоге или ищите на нашем сайте.

С 16 сентября стартует ежегодный конкурс по биржевой торговле «Лучший частный инвестор 2021» (ЛЧИ), который проводится Московской биржей совместно с брокерскими компаниями. «БКС Мир инвестиций» традиционно выступает партнером мероприятия.

Желающим предлагают создать цифровой наряд для сотрудников магазина.

В петиции указано, что работники пунктов самовывоза недополучили от 10 тысяч до 40 тысяч рублей за месяц.

1 июля 2021 года вступил в силу Федеральный закон, отменяющий требования о репатриации валютной выручки. Юридическая фирма «Надмитов, Иванов и Партнеры» подготовила обзор его основных положений.

Участники миссии Inspiration4 проведут на околоземной орбите три дня.

На прошлой неделе мы наблюдали осторожный ход ЦБ РФ по очередному повышению ключевой ставки. В этот раз российский регулятор не стал рубить с плеча и ограничился минимальным шагом в 25 базисных пунктов (то есть 0,25%). Многие аналитики прогнозировали повышение на 50 б.п., и, в целом, рынок закладывался на более серьезные меры. Правда, позитивному…

Источник

На хостинге RU-CENTER в настоящее время используется веб-сервер Apache версии 2.4.

Директивы файла .htaccess действуют для каталога, в котором размещён такой файл, и для всех его подкаталогов. Если вы желаете с помощью .htaccess изменить настройки для сайта в целом, его следует размещать в корневом каталоге сайта

Пожалуйста, будьте внимательны при редактировании файла .htaccess! При сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов мы рекомендуем использовать не «Блокнот» Windows, а специальные текстовые редакторы, например Notepad++.

1. Перенаправление доменов c синонима сайта на основной домен с кодом 301

Перенаправить запросы на domain.ru с любого из синонимов сайта

RewriteEngine On
RewriteCond % !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]

Перенаправить запросы на www.domain.ru с любого из синонимов сайта

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

Эти правила рекомендуется размещать в самом начале файла .htaccess.

2. Постоянное перенаправление с кодом 301

Redirect 301 /page.html http://www.domain.ru/new_page.html

Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:

Options +FollowSymLinks
RewriteEngine On
RewriteCond % ^test=123$ [NC]
RewriteRule ^period/$ http://domain.ru/ [L,R=301]

3. Переопределение страниц ошибок

#401 Авторизация не выполнена
ErrorDocument 401 http://domain.ru/errors/401.html
#403 Доступ запрещен
ErrorDocument 403 http://domain.ru/errors/403.html
#404 Страница не найдена
ErrorDocument 404 http://domain.ru/errors/404.html
#500 Внутренняя ошибка сервера
ErrorDocument 500 http://domain.ru/errors/500.html

Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге

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

User-agent: *
Disallow: /errors

/ваш_домен/docs/errors/.htaccess, в котором прописать

4. Постраничное перенаправление запросов на другой домен c кодом 301

Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:

Redirect 301 / http://www.newdomain.ru/

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

5. Ограничение доступа к сайту по IP

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3

Запретить доступ к сайту для всех:

6. Переопределение главной страницы сайта (индексного файла каталога)

Сделать главной страницей файл menu.html:

8. Запрет выдачи листинга каталога

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

Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).

10. Блокировка переходов со сторонних ресурсов

Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:

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

В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.

Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:

RewriteEngine on
RewriteCond % ^www\.site.ru [NC]
RewriteRule ^(.*)$ http://xn--80aswg.xn--p1ai/$1 [R=301,L]

В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.

12. Перенаправление с HTTP на HTTPS и обратно

Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.

Перенаправить запросы на https://domain.ru

Перенаправить запросы на http://domain.ru

3. Диагностика ошибок

Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.

Источник

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

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

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

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

Для чего нужен 301 редирект

Корректная настройка 301 редиректа особенно важна с точки зрения SEO. Именно она помогает показать поисковой системе что, например, сайт сменил домен либо текущая страница переехала на новый адрес, а, значит, необходимо передать вес со старых URL и обновить старые URL на новые в поисковой выдаче.

Когда необходим редирект

Ниже обозначим основные наиболее актуальные для настройки 301 редиректа ситуации.

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

Переадресация должна выполняться со всех адресов старого домена на аналогичные страницы нового домена.

В данном случае необходимо перенаправлять пользователей со страниц с незащищенным протоколом http на страницы с защищенным протоколом https.

Такая необходимость может возникнуть в нескольких случаях – смена CMS, смена урловой структуры на сайте и т.д.

Таким образом, необходимо отправить пользователей с site.ru/page1/ на site.ru/catalog/page1/.

Такая необходимость появляется, например, если вы хотите отделить какое-либо направление своего сайта в отдельное.

Например, вебмастер покупает домены site.com, site.ru, site.net, site.org и site.biz и на четырех последних сайтах настраивает редирект на основной – site.com.

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

Основные правила настройки переадресации

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

Например в 1C-Битрикс существует множество модулей, таких как SEO Редиректы.

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

Для других CMS также можно установить модули. Вот некоторые ссылки на модули для распространенных CMS: Opencart, WordPress, Webasyst.

header(‘HTTP/1.1 301 Moved Permanently’);

Например, rewrite ^https://$host$request_uri? ;

$host – имя хоста из запроса, если отсутствует – имя в поле «Host» заголовка, если тоже отсутствует – имя сервера;

$request_uri – первоначальный запрос с аргументами (все, что идет после доменного имени).

могут иметь следующие параметры:

permanent – перенаправление с кодом 301,

redirect – перенаправить с кодом 302,

last – закончить обработку с переходом в новый location,

break – закончить обработку и остаться в текущем location.

Все возможные правила переадресаций для разных задач

Мы постарались подобрать самые часто используемые правила перенаправления. Если вдруг какое-то правило перенаправления не сработает на вашем сайте, попробуйте альтернативное из нашего списка. Стоит учесть, что не все представленные правила могут работать корректно при той или иной настройке сервера либо с той или иной CMS.

Склейка зеркал сайта (www и без www)

301 редирект с www на без www (главное зеркало – домен без www):

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

301 редирект с без www на www (главное зеркало – домен с www):

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

Редирект с http на https

Если данная конструкция не сработает, попробуйте другой вариант:

Если циклическое перенаправление на страницах осталось, попробуйте такой вариант:

Если редирект не работает и в этом случае, попробуйте такой вариант:

Бывают случаи, когда необходимо провести редирект на https всех страниц, кроме одной. Тогда используйте следующую конструкцию:

Для одной страницы

Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующее:

Редирект с https на http

Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:

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

Редирект с двух последовательных слешей на один

Если необходимо сделать 301 редирект для устранения двух или множества последовательных слешей и заменить их одним в URL, то прописывается следующее:

Редирект со страниц со слешем на без слеша (для всего сайта)

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

Или более короткий вариант:

RewriteRule ^(. )/$ /$1 [R=301,L]

Редирект со страниц без слеша на слеш (для всего сайта)

Обратный вариант применяется, когда нужно использовать адреса со слешем.

Один 301 редирект (а не два последовательных!) на без www и со слешем на конце адреса страницы

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

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

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

Один 301 редирект (а не два последовательных!) на c www и со слешем на конце адреса страницы

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

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

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

Один 301 редирект (а не два последовательных!) на c www и без слеша на конце адреса страницы

Источник

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

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