Содержание
- 1 Что такое 301 редирект для сайта
- 2 Для чего нужен 301 Redirect
- 3 Когда не надо использовать код сервера 301 и другие нюансы
- 4 Как настроить 301 Редирект в .htaccess на Apache
- 5 Redirect в PHP
- 6 Особенности настройки Permanent Redirect на nginx.
- 7 Как сделать Редирект с http на https без htaccess — ковыряем web.config
- 8 Когда редирект с https на http не работает — что делать?
- 9 301 moved permanently что это и как исправить
- 10 302 Редирект — временное переселение
- 11 Сервисы для контроля Редиректов
Сегодня мы поговорим о редиректе и постараемся разобрать данный вопрос максимально широко и в то же время не распыляться. Важность редиректов в сео просто огромна, в то же время велики и риски проблем из-за неправильной переадресации. Вопрос важный, сложный и очень нужный, так что читаем далее!
Что такое 301 редирект для сайта
Что такое 301 редирект? Даже не так. Что такое Redirect? Это команда поисковому роботу перенаправлять посетителя на другую страницу, которая была перемещена в другое место. Цифра 301 — это код, который говорит об окончательном перемещении страницы в новую локацию. Ведь когда мы переходим на какую-то страницу и нам выдается ошибка, мы видим перед собой код этой ошибки и расшифровку. Например, код 404 говорит нам — Not Found, что означает — страница не найдена, а 505 ошибка сообщает, что ответ от сервера не был получен. Но если вышеописанные ошибки видны посетителю на открытой странице браузера, то шифры перенаправления видят только роботы, которые и направляют гостя по другой ссылке (если, конечно, редирект был настроен правильно). Вот как раз новую ссылку, меняющуюся в адресной строке браузера посетитель и заметит. То есть 301 редирект перебрасывает пользователя с одной страницы на другую, не останавливаясь на промежуточном адресе, доводя до конечного места локации контента.
Официальное название редиректа — Permanent Redirect 301, используется как инструмент в SEO. Код прописывается в файлах на сервере, где расположен сайт, и при обращении по ссылке, которая указана в редиректе как та, с которой нужно увести посетителя, сервер отдает системе код 301 с новыми данными для отображения ссылки и «пометкой» — перемещен на другой адрес (moved permanently).
Каким образом происходит процесс перемещения? С помощью кода в файлах на сервере с сайтом размещается специальный код, который роботы поисковых систем считывают и выполняют. В этом коде обязательно присутствуют константы: откуда переместить и куда. Причин для использования 301 редиректа на сайте может быть множество, рассмотрим основные из них в этой статье, ведь, возможно, что какой-то способ вам понабиться, и вы им воспользуетесь.
Я подготовил мощный мини-курс по SEO текстам, которые сами выходят в ТОП! Курс записан в формате пошаговых инструкций и в данный момент доступен БЕСПЛАТНО, вместо 2999, так что не упустите! Ссылка на скачивание мини-курса.
Для чего нужен 301 Redirect
301 редирект является тем видом перенаправления, который поисковые системы признают как правильное решение для перемещенных страниц сайта. Поэтому при настройке Permanent Redirect никаких изменений в ранжировании или наложений штрафных санкций не происходит. Это естественная переадресация. Какое-то время назад этот способ переадресации использовался вебмастерами для выхода из под фильтров, но не факт, что на сегодняшний день этот способ может помочь. Хотя от определенных фильтров иногда спасает (ссылка).
На сегодняшний день основными показаниями к использованию 301 Редиректа являются ситуации:
- изменения адреса страницы сайта, даже на одну букву или символ;
- склейка зеркал (домен с www и без www, домены в разных зонах);
- смена домена интернет-ресурса;
- борьба с дублями из-за технического бардака.
Где делают Permanent Redirect 301? Способы зависят от возможностей вебмастера и его доступа к данным. Поэтому создать 301 Редирект можно через htaccess, php, настройки сервера, javascript. Естественно, что использовать все способы одновременно не надо.
Адрес страницы изменен
Самый простой и распространенный вариант наломать мелких дров в админпанели сайта и создать ошибки при переходе по ссылке — это откорректировать уже проиндексированный неЧПУ. Когда формируется новая страница сайта, ей присваивается номер и адрес из латинских букв. Первое время не очень красивая ссылка никого не смущает, но когда обнаруживается, что можно сделать покрасивше — руки так и чешутся откорректировать url к более человекоподобному:). И тут наступает момент, когда в вебмастере гугла и яндекса обнаруживается огромное количество дублей. Особенно, когда была видоизменена категория сайта в структуре. Google, например, после обновления базы, то есть когда робот заново обошел сайт с начала до конца, покажет в панели вебмастера новые адреса страниц, но старые тоже оставит в поиске, сделав замечание владельцу, что у него на сайте присутствуют одинаковые мета-данные, которых на самом деле там и нет. Переход по старому адресу из поисковой системы выдаст пользователю ошибку 404 (если конечно она правильно настроена), тем самым убив желание потенциального посетителя переходить далее на сайт.
Итог бездумной корректировки URL? Поисковая система видит отказ пользователя и понижает сайт в выдаче по поисковому запросу. Катастрофа. А все из-за какой-то корявой ссылки, которая изначально осталась незамеченной и никого, кроме самого «вебмастера» совершенно не смущала. Но эту ситуацию можно исправить как раз 301 редиректом. Как сделать 301 редирект с одной страницы на другую (со старого url на новый), расскажем дальше.
Склейка зеркал
Зеркала — это, например, когда сайт один, а доменов несколько. Обычно, компании, работающие на бренд, выкупают сразу все доступные зоны, чтобы никто не смог воспользоваться их именем. Также присоединяются названия адреса сайта через дефис и без него. Но даже без такой катавасии, на вашем сайте 100% есть зеркала! В данном случае это написание адреса сайта с www и без, а также доступ через https. В любом из этих случаев делается 301 redirect, причем еще при создании вебресурса, иначе от головной боли с дублями страниц потом тяжело избавится. Редирект 301 с www на без www и наоборот (если основным сайтом является www.имя_домена.ru), а также c http на https (сомневаюсь, что часто бывает перенаправление наоборот), включая разные доменные зоны, обязателен! Для проверки наличия основного зеркала, помогут панели вебмастера поисковых систем.
Смена домена
По разным причинам сайту нужно переехать на новый домен. Чаще всего компания делает ребрендинг, а название домена не отвечает поставленным целям. Ради благозвучия и соответствия названия домена бренду, сайт переезжает. Чтобы не потерять уже постоянных посетителей и поставить перед фактом поисковых роботов, сеошники делают 301редирект со старого домена на новый. Очень важно, чтобы поисковые системы получали ответ от сервера код 301, а не 404 или 302. Работа окажется легкой, если сайтик небольшой (визитка, лэндинг, промо-страница) и понадобится много труда для огромного интернет-магазина, потому что перенаправление на главную страницу здесь не подойдет. Каждый старый URL привязывают к аналогичному новому (постраничная переадресация).
Исправляем технический бардак
Здесь вариантов устроить технический бардак уйма начиная с нарушений элементарных правил создания страниц и заканчивая дублями, которые создаются плагинами на сайте (переводчики, комментарии, поиск по сайту). Сюда же можно отнести мобильные версии выдачи страниц (с этим в последнее время хлопот немало), но их лечат прописыванием canonical. Дубли создаются не только по вине вебмастера, есть и вынужденные. Но случаи по неопытности первого, все же больше наносят вреда. Некоторые прячут такие погрешности закрытием от индексации, но лучше использовать 301 Permanent Redirect и тогда робот точно поймет, что хочет ему сказать человек.
301 редирект вместо 404 Not Found
Не торопитесь сразу убирать 404 (Страница не найдена) и везде проставлять 301 Редирект. Тут важно прочувствовать разницу. Код 404 Not Found обязателен на страницах, которые удалены или никогда не существовали, а вот с битыми ссылками можно бороться 301 Редиректом! Если страница, которую ищет пользователь, существует, зачем отсылать его по древу сайта для ее поиска? Найдена битая ссылка на какую-то страницу? Перенаправляем по правильному адресу кодом 301 и посетитель даже не догадается о том, что ссылка уже была нерабочая.
Когда не надо использовать код сервера 301 и другие нюансы
Есть моменты когда так и хочется воспользоваться 301 редиректом на сайте, но не всегда цель оправдывает средства. Вообще, желательно, во внутренних ресурсах сайта использовать код 301 только в случаях крайней необходимости. Иначе, бездумно посылая робота со ссылки на ссылку, можно создать бесконечное циклическое перенаправление, которое просто убьет весь сайт. И поисковый робот бросит все старания найти место размещения контента, чем навредит репутации ресурса в целом, не доведя посетителя до конца.
Временная переадресация при неуверенности
Permanent Redirect 301 (Перманентный редирект) используется для указания роботам окончательного решения. Что это значит? А это говорит о том, что если вы не уверены навсегда ли будет перемещена страница, тогда безопасней 301 редирект не делать. Redirect склеивает странички, и робот уже просто не видит первой, а это значит, что она канула в лету безвозвратно. Для временной переадресации используют другие способы, когда при принятии решения вернуть все на свои места, не вызовет никаких проблем.
Спасение от фильтров стоит ли?
Когда-то 301 редиректом спасались от фильтров поисковых систем, но нет 100% гарантии, что фильтр в будущем не переместится на новый домен. Создавая постоянное перенаправление на новый сайт, перемещается ТИЦ с PR. Мною замечено, что с алгоритмом «Пингвина» еще можно помудохаться, а вот от АГС такие манипуляции не спасут однозначно. Поэтому сейчас Permanent Redirect не так популярен для спасения от фильтров ПС, но зато помогает не потерять заслуженные позиции. Чего вполне достаточно для усердных вебмастеров.
Нюансы использования 301 редиректа
- Исправлять ссылки ведущие извне 301 редиректом вполне нормально, потому что отредактировать их у нас нет возможности. А вот кривые внутренние пути надо максимально исправлять вручную другими, более щадящими способами.
- Настраивая redirect, нужно быть предельно внимательным, чтобы не захватить какие-нибудь системные ссылки из корневых каталогов или пути к папкам и плагинам.
- Для поиска ссылок, нуждающихся в исправлении, необходимо использовать инструменты поисковых систем Google и Яндекс Вебмастер. Очевидные дубли страниц видны в Гугл Вебмастер во вкладке Вид в поиске > Оптимизация HTML, а в Яндексе — Индексирование — Статистика.
- Между нашими главными поисковыми гигантами есть одна огромная особенность: если Google после обновления базы самостоятельно уберет исправленные ошибки из панели вебмастера, то Яндекс этого может вообще не сделать. Это дело можно поправить прописыванием в robot.txt запрета на индексирование или подать ручной запрос в поддержку на удаление из базы плохих ссылок. В 2016 Вебмастер Яндекса перешел на новый уровень, расширив функционал системы. Правда, некоторые возможности еще не работают, но уже функционируют корректно бывшая аддурилка, а теперь запрос на внеочередной переобход страницы роботом, проверка мобильности страниц, удобная статистика по ключевым словам с разбивкой на ТОП 3, 10, 50.
Как настроить 301 Редирект в .htaccess на Apache
Одним из самых старых и распространенных способов запустить 301 редирект на Apache является прописывание специального кода в корневом каталоге сайта в файле .htaccess. Неоспоримым преимуществом этого метода является быстрая загрузка команд сразу с сервера еще до запуска скриптов без дополнительной на него нагрузки. Не зря перед названием htaccess я поставил точку — это файл без названием с расширением. Знаю, непривычно, но этот файлик есть в корневой папке сайта или, по крайней мере, должен быть.
Как найти htaccess? Открываем FTP-клиент (например, Fillezilla), переходим на каталог сайта и опля! Не случилось опля? Нет такого файла? Попробуйте проверить настройки ftp-клиента. К примеру, в FilleZille нажмите на вкладку Сервер и выберите пункт Принудительно отображать скрытые файлы. Ничего не появилось? Значит, создаем новый файл на свое компьютере. Создаем .txt-шный файл, вписываем нужный код и сохраняем. И тут паника: Windows не сохраняет файл с расширением .htaccess и без имени! Катастрофа, думаете вы. Вовсе нет. Забрасываете файл с расширением тхт через ftp-менеджер в корневую папку сайта и там переименовываете. Ура! Файл .htaccess создан. Теперь, при внесении каких-либо изменений в него, достаточно его просто открыть в блокноте через ftp-клиент или в NotePad++.
А какой код писать, как настроить 301 редирект в htaccess? А вот в зависимости от того, для чего он нам нужен, и будем моделировать код перенаправления. В первую очередь, Permanent Redirect 301 прописывается в самом начале страницы htaccess после строки «R ewriteEngine On», для того чтобы команда обрабатывалась первой. Сервер читает файл построчно сверху. Ниже привел популярные коды для перенаправления.
301 Редирект с www на без www для склейки зеркал
Заранее оговорюсь — во всех примерах в команде R ewriteCond лишний пробел, уберите его перед копированием!
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
R ewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
301 Redirect без www на www
R ewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
R ewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Чувствуете разницу? R ewrite переводится как переписать, Cond — условие, Rule — правило. А с виду для русскоязычных можно запомнить: кто рулит? Рулит вторая строчка, то есть указываем тот путь, куда перенаправляем. Каждый второй вариант приведенных выше правил лучше первого тем, что при перенаправлении будет проверяться не только наличие www в адресе сайта, а и соответствие названия домена указанному. Таким образом, исключается возможность доступа посторонних лиц к файлам на сервере, например, через IP-адрес. А это, как-никак, дополнительная защита.
А теперь расшифровка всех символов в коде 301 редиректа:
R ewriteCond — искомое условие, то есть ссылка, которую, в нашем случае, нужно перенаправить.
R ewriteRule — правило, которое необходимо выполнить с тем условием, которое указано в предыдущей строке.
Мета-символы:
^ — начало строки;
$ — конец строки;
! — отрицание;
\ — за экранирующим слешем считать метасимволы обычными символами;
. — любой символ в количестве одной штуки:)
() — разбиение на группы;
? — повторение символа от 0 до 1 раза;
* — повторение от 0 до 65536;
+ = повторение от 1 до 65536;
[] — дополнительные опции;
NC (NOCASE) — отключить проверку регистра;
R=301 (Redirect 301) — вернуть ответ браузеру с кодом 301;
L (LAST) — остановка процесса перенаправления, указывая на конечность текущего местоположения данных.
%{QUERY_STRING} — набор переменных для php.
301 Редирект с https на http и наоборот в Htaccess
Небольшим кодом делаем перенаправление с https на http в htaccess:
R ewriteEngine On
R ewriteCond %{HTTPS} on
R ewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI}
Если нужно сделать обратный редирект 301 с http на https, то прописываем такой вариант:
R ewriteEngine OnR ewriteCond %{HTTPS} =on
R ewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Универсальный редирект с index.php и .html на ссылку без них
Создание дублей страниц с добавкой в конце пути index.php или расширения html у веб-страницы происходит сплошь и рядом. Явно это становится видно, когда адрес вашей главной страницы уже выглядит так http://ваш_сайт/index.php или http://ваш_сайт.html. Не очень красиво, правда? Короче — хуже только крокозябры:) Предлагаю исправить ситуацию универсальным кодом:
R ewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
R ewriteRule ^(.*)index\.(php|html)$ $1 [R=301,L]
А добавки к адресу, которые берутся вроде бы ниоткуда, когда на сайте все нормально настроено: http://ваш_сайт/страница_перехода.html&post=абракадабра? Эти малопривлекательные крякозябры цепляются к хвосту благодаря социальным сетям, где лояльный читатель поделился вашим постом. К адресам сайтов добавляются статистика для отслеживания источников (и тут, екалемене, анонимности никакой).
Избавляемся от абракадабры прописыванием 301 редиректа в htaccess:
R ewriteCond %{REQUEST_URI} ^(.*)\&post=R ewriteRule ^(.*)\&post=(.*)$ $1 [R=301,L]
Аналогично проделываем процедуру с другими видами хвостиков, например, когда после адреса страницы вылазит &bau=fdf=fdwnf,Jf;pg’;bui=ds643dfvv5, видоизменяем код так:
R ewriteCond %{REQUEST_URI} ^(.*)\&bau=
R ewriteRule ^(.*)\&sa=(.*)$ $1 [R=301,L]
Структура остается прежней, меняем только первую повторяющуюся часть ссылки. А таких «липучек» может быть много, но делать это надо, потому что такие ссылки индексируются поисковыми системами.
Еще одним примером могу привести, когда нужно убрать после фразы index.php другие параметры, сопутствующие в пути из-за скриптов. Если ссылка выглядит как http://ваш_сайт/index.php?list=1, можем очистить хвосты скриптов следующим кодом в htaccess:
R ewriteCond %{QUERY_STRING} ^list=1$
R ewriteRule ^(.*)\.php\?(.*)$ $1\.php [R=301,NC,L]
Избавится от дублей с index.php (редиректс index.php на категорию), чтобы после ЧПУ не было больше приставок, поможет следующий код:
R ewriteRule ^(.*)index\.php$ $1 [R=301,L]
Теперь вид сайта в адресной строке будет выглядеть как http://ваш_сайт.ru, а не http://ваш_сайт.ru/index.php. Правда, так лучше?
301 редирект со страницы на страницу
Когда нужно сделать 301 редирект с одной страницы на другую можно воспользоваться следующим кодом в нескольких вариациях синтаксиса. Только каждое перенаправлению на новую страницу создается отдельной строкой. Вот как выглядят правила:
Redirect 301 /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
или
Redirect permanent /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
или
RedirectPermanent /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
Обратите внимание, что адрес домена, на который перенаправляется первая страница, может быть совершенно другим. То есть это может быть реальная переадресация со страницы одного сайта на страницу другого.
Redirect в PHP
301 Редирект в PHP используется, когда с созданием в htaccess возникают трудности, а функция в ПХП будет более логичной. Синтаксис permanent redirect в php выглядит так:
header(«HTTP/1.1 301 Moved Permanently»);header(«Location: http://ваш_домен.ru»);die(«Redirect»);
Данный синтаксис сообщает браузеру пользователя с какой страницы и на какой сайт надо сделать перманентный редирект. Стоит учесть что http://ваш_домен.ru — необязательно главная страница одного и того же ресурса, это может быть как отдельная страница, категория, так и совершенно левый домен. Если при написании функции redirect была допущена ошибка, браузер сообщит об этом в окне надпись «Redirect». Примеры функций Permanent Redirect далее.
Как убрать дубль адреса сайта в адресной строке с помощью ПХП
if (strpos($_SERVER[‘REQUEST_URI’], ‘http://ваш_сайт.ru’) !== false)
{
$real_page_url = «http://ваш_сайт.ru».str_replace ( «/http://ваш_сайт.ru», «», $_SERVER[‘REQUEST_URI’] );
header(«HTTP/1.1 301 Moved Permanently»);
header(«Location: $real_page_url»);
die(«Redirect»);
}
Вот такой функцией убирается дублирование адреса вида: http://ваш_сайт.ru/ http://ваш_сайт.ru/страница. Обратите внимание на написание URL в условии — здесь оно пишется как URI. Получается что при выполнении условия нахождения в адресной строке двойной ссылки, браузер должен перенаправить пользователя 301 редиректом на корректную страницу с помощью переменнной $real_page_url, а кривую ссылку считать ложной.
Как убрать дубль страницы со слешем с помощью PHP
if ( ( $_SERVER[‘REQUEST_URI’], — 1, 1 ) == ‘/’ )
{
$requested_url = rtrim($requested_url, ‘/’);
header(«HTTP/1.0 301 Moved Permanently»);
header(«Location: $requested_url»);
die(«Redirect»);
}
Эта простая функция проверяет наличие в адресной строке конечного слеша. И если слеш обнаружен, то он обрезается с помощью перенаправления на ссылку без конечного слеша.
Особенности настройки Permanent Redirect на nginx.
Permanent Redirect на nginx используют не так часто, как на Apache — на это есть множество причин, и основная из них — это сложности настройки этого конфигурационного серверного файла. Да и не все хостинги дают возможность вебмастеру таким способом решать возникшие трудности. Одним из вероятных проблем, которые можно решить 301 редиректом на nginx — это закрытие индексирования через IP и тестовые сервера.
Чтобы настроить permanent redirect на nginx с ip на http://ваш_домен.ru — находим файл nginx.conf, чаще всего размещенный по пути /etc/nginx/nginx.conf. В нем прописываем строки:
server {listen 0.0.00.000:80 default;server_name _;R ewrite ^/(.*)$ http://ваш_домен.ru/$1 permanent;}
Нолями обозначили IP, через который был доступен сайт и порт 80. Таким способом перенаправляем любой запрос по IP на нормальную ссылку. Можно обойтись и без 301 редиректа, а указать закрытие доступа, строкой return 444, вместо R ewrite ^/(.*)$ http://ваш_домен.ru/$1 permanent, и выполнить ‘invoke-rc.d nginx reload’.
Одним из вариантов не ковыряться в nginx является корректная настройка HTTP-сервера, на котором закрывается соединение через IP. Если страницы через доступ по IP попалив индекс, то после таких манипуляций, со временем они исчезнут оттуда. Но как всегда Яндекс может самостоятельно этого не сделать — и тогда опять пишем в поддержку.
301 редирект на nginx с www на без www
server
{
listen 80;
server_name www.имя_сайта.ru;
R ewrite ^ http://имя_сайта.ru$request_uri? permanent;
}
Permanent Redirect 301 на nginx с домена без www на домен с www
server
{
listen 80;
server_name имя_сайта.ru;
R ewrite ^ http://www.имя_сайта.ru$request_uri? permanent;
}
Redirect 301 в nginx.conf со страницы с index.php на адрес без index.php
location = /index.php {
if ($request_uri = /index.php) {
R ewrite ^ http://$host? permanent;#301 redirect
}
fastcgi_pass unix:/tmp/fastcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Как сделать Редирект с http на https без htaccess — ковыряем web.config
Если вы хотите сделать 301 редирект с http на https без htaccess и вам не подходят настройки nginx, возможно, у вас хостинг под управлением Windows? Тогда добавляем вот такие строчки в файл web.config на сервере:
<?xml version=»1.0″ encoding=»UTF-8″?>
<configuration>
<system.webServer>
<R ewrite>
<rules>
<rule name=»Redirect to https» stopProcessing=»true»>
<match url=»(.*)» />
<conditions>
<add input=»{HTTPS}» pattern=»off» ignoreCase=»true» />
</conditions>
<action type=»Redirect» url=»https://{HTTP_HOST}{REQUEST_URI}» redirectType=»Permanent» />
</rule>
</rules>
</R ewrite>
</system.webServer>
</configuration>
Таким образом, будет настроено полное перенаправление домена с http на https, вместе с поддоменами. Но если поддомены трогать запрещено, тогда используем код ниже, вставляя его в тот же web.config:
<?xml version=»1.0″ encoding=»UTF-8″?>
<configuration>
<system.webServer>
<R ewrite>
<rules>
<rule name=»Redirect to https» stopProcessing=»true»>
<match url=»(.*)» />
<conditions>
<add input=»{HTTPS}» pattern=»off» ignoreCase=»true» />
<add input=»{HTTP_HOST}» pattern=»^domain\.ru» />
</conditions>
<action type=»Redirect» url=»https://{HTTP_HOST}{REQUEST_URI}» redirectType=»Permanent» />
</rule>
</rules>
</R ewrite>
</system.webServer>
</configuration>
Когда редирект с https на http не работает — что делать?
Не всегда прописывание одного кода на разных сайтах срабатывает с полным успехом. Бывает, возникают ошибки по вине сервера, из-за бардака в конфигурационных файлах или элементарно сделана ошибка в командных строчках.
Когда 301 редирект с https на http не работает — пользуемся другими вариациями кода. В htaccess меняем предыдущий распространенный код на вот такой:
# Redirect HTTPS to HTTP
R ewriteCond %{HTTP:X-Forwarded-Proto} =https
R ewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Если не работает redirect 301 с http:// на https://, в .htaccess прописываем следующее:
R ewriteEngine On
R ewriteCond %{SERVER_PORT} !^443$
R ewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
В случае возникновения циклической реакции — корректируем под такой шаблон:
R ewriteEngine On
R ewriteCond %{HTTPS} off
R ewriteCond %{HTTP:X-Forwarded-Proto} !https
R ewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
301 moved permanently что это и как исправить
Что это за глава? Подумаете вы после прочтения всего того, что было описано выше. А я, в двух словах, поясню. Moved permanently в переводе означает «переехал навсегда». Некоторые вебмастера еще и краем уха не слышали о 301 Moved permanently, тем более о Permanent Redirect, то есть о постоянном редиректе, и ищут ответ, почему у них выбивает такую ошибку на странице. А теперь обращение к тем, кто искал, как исправить 301 moved permanently — начинайте читать статью сначала и находите свой конкретный случай для решения своих задач. А мы переходим к следующему этапу: коротко о том, что такое 302 редирект и зачем он нужен, если есть 301-й.
302 Редирект — временное переселение
Что такое 302 редирект и чем он отличается от 301? Исходя из названия, 302 Temporary redirect (временное перенаправлению) осмелюсь сказать, что этим редиректом мы можем временно перенаправлять робота и посетителей с одной страницы на другую. Сколько может длиться период временного перенаправления — это никем не указано, то есть догажываемся, что до момента, пока это перенаправление будет актуальным. Здесь хочеться уточнить, что после злоупотребления сеошниками временными перенаправлениями и введения санкций от поисковых систем к недобросовестным сайтам, крайне не рекомендуется делать 302 Redirect с одного домена на другой. То есть мы можем решать временные задачи только в пределах одного сайта.
Чем отличается 302 Редирект от 301?
Какая особенность 302 Редиректа? Сравнивая его с 301 можно сказать, что постоянное перенаправление полностью передает весь вес сайта, включая ТИЦ, PR и фильтры, а также дает роботам понять, что страница, с которой идет 301 Редирект больше не нуждается в индексации. То есть из поиска она выпадает и заменяется второй. 302 Редирект ничего подобного не передает странице, на которую делается перенаправление, разве что вторая страница быстрее индексируется. А это означает для робота, что обе страницы доступны и должны присутствовать в поиске.
Для каких нужд используют 302 Redirect? Чаще всего для перенаправления на обновленные данные, пока на «редирекнутой» странице не будет обновлена информация или для придания акцента и большего внимания новой странице. Например, вместо страницы категории для выбора можно переадресовать посетителя сначала на акцию, а по его желанию он может по заметной ссылке перейти снова на страницу категории. Команды для создания 302 Temporary redirect не привожу, так это будет уже совсем иная статья. Пользуемся с умом.
Сервисы для контроля Редиректов
Конечно же, как же без сервисов для отслеживания редиректов на сайтах. За всем нужен глаз да глаз. Поэтому посоветую парочку вариантов для контроля.
Расширения для браузера, которые контролируют редиректы:
- HttpFox для Mozilla;
- HTTP Headers для Google Chrome.
С помощью этих инструментов можно отслеживать перенаправление по адресам, скорость и порядок загрузки страниц. Таким способом можно выявить циклическую цепочку, если она образовалась. На этом закругляю свои длинную статейку, надеюсь, мои советы вам помогут разобраться во всех основных тонкостях перенаправления ссылок.
Оставь свой комментарий о статье
Комментарии к записи:
Получаю твою рассылку уже давно и отмечаю ее в почте «Важно», вот сейчас по редиректу нужна инфа, буду изучать. Спасибо за материал реально без воды)
Шрифт бы в статьях покрупнее, а то глаза к концу дня и так не айс.
Приму к сведению и внедрю, спасибо за ваши комментарии!