301 редирект: примеры на все случаи жизни

301 редирект Вода

Содержание
Предисловие
Привет! Давно не писал ничего в блог, сегодня хочу опубликовать для тебя статью о 301 редиректе. О том как его проверить, какие виды перенаправления бывают и для каких движков сайта.

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

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

Важно: основные правила скрыты в спойлере «Нажмите на плюс», — просто нажимаешь и выкатывается список. Если тебе покажется это неудобным, то напиши, пожалуйста, об этом в комментарии.

Ниже, в статье о 302 и 307 редиректах, есть видео на английском языке, не поленись посмотреть его! Главное — не забудь поставить субтитры на русский язык.

Если ты смелый, ловкий и умелый и по твоему мнению в статье чего-то не хватает, то умоляю, напиши об этом в комментариях, я актуализирую её.
Приятного чтения и спасибо, что читаешь меня.

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

301 редирект (переадресация) — это перенаправление посетителей или поисковых роботов с одного URL-адреса на другой.

Например:

http://www.bolshakof.ru/ перенаправляет на http://bolshakof.ru/

Как проверить

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

Чти:   Как посмотреть весь трафик своих сайтов в Яндекс Метрике?

Проверка редиректа поможет настроить сайт технически корректно и выяснить, куда на самом деле ведет ссылка.

С помощью онлайн сервисов можно:

  • проверить, выдаёт ли страница «Not found» код 404 на самом деле;
  • узнать, какой редирект настроен на сервере — 301-й или 302-й;
  • избежать неожиданностей при склейке PR;
  • узнать, куда ведёт ссылка, зашифрованная сокращателями вроде bit.ly и т.п. и куда ведёт ссылка в рекламном объявлении;
  • проверить редирект по партнёрской ссылке, не переходя по ней.

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

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

Источник
4web.su

Примеры 301 редиректа в htaccess

Прилагаю к ознакомлению регулярные выражения

^ — ограничение слева;
$ — ограничение справа;
* — 0 и более символов;
+ — 1 и более символов;
. — любой символ;
\ — экранирование;
() — переменная;
[] — диапазон значений.

Ниже, в выпадающем меню, рассмотрим как настроить 301 редирект на все случаи жизни в файле htaccess.

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

С http на https

RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

С https на http

Redirect HTTPS to HTTP
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

#1
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://bolshakof.ru/$1 [R=301,L]
#2
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#3
RewriteEngine on
RewriteCond %{HTTP_HOST} !^site\.ru$ [NC]
RewriteRule ^(.*)$ http://bolshakof.ru/$1 [R=301,L]

С без WWW на WWW

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

Редирект с сайта на сайт

301 перенаправление со всех страниц домена на другой домен.

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

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

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

Постраничный редирект

Redirect 301 /index http://bolshakof.ru/

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

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

301 редирект на главную

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

    RewriteCond %{REQUEST_URI} (.*)
    RewriteRule ^(.*)$ http://mysite.com/ [L,R=301]

C 404 на главную

ErrorDocument 404 http://www.bolshakof.ru/301.html

С 404 на главную через 301 редирект

ErrorDocument 404 http://www.bolshakof.ru/301.html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule 301.html http://www.bolshakof.ru/ [R=301,L]

С 404 на заранее подготовленную

ErrorDocument 404 /404.html

Редирект со страниц без слеша на слеш

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]

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

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

RewriteEngine On
RewriteBase /

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

Если надо перенаправлять один поддомен:

RewriteEngine On
RewriteBase /

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

301 или 302 редирект: в чем разница

  • При использовании 302 редиректа «пузомерки» и ссылочный вес не передаются новому URL. У 301 и 302 редиректов разница не наблюдается лишь насчет передачи трафика – в обоих случаях пользователь, использующий старую ссылку, всегда будет перенаправляться на новую страничку.
  • 301 и 302 редирект имеют отличия в восприятии исходной страницы ботами поисковиков. Если при 301 про старую страницу нужно забыть и больше никогда не пытаться на нее заходить, то 302 редирект – это указание не забывать и продолжать индексировать ее содержимое в независимости от продолжительности перенаправления.
  • Влияние на поисковую выдачу в зависимости от выбора 301 или 302 редиректа – различия будут касаться прекращения отображения старой страницы в результатах поиска (при 301-м) или же наличия в них обоих страничек (при 302-м).
  • Следует принимать во внимание, что используя 301 и 302 редирект, разница в риске попасть под фильтры поисковых систем довольно существенна.
    Если за 301-е перенаправление могут наказать лишь в случае выявления целенаправленных махинаций со склеиванием показателей и веса разных сайтов, то 302-й часто может быть распознан как элемент, который часто используется в черном SEO (как разновидность клоакинга).
  • При настройке 301 и 302 редиректов отличия отсутствуют. Используются одни и те же команды.
Чти:   Миллион самых популярных запросов рунета

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

Вы также должны выбрать 302 перенаправление если:

  • исходная страничка должна быть скрыта от глаз посетителей (находится в стадии доработки или внесения изменений);
  • важно чтобы старая страница продолжала индексироваться;
  • нужно, чтобы пользователи видели только новую страницу;
  • не критично отсутствие индексации конечной странички;
  • на исходной страничке размещены ссылки, которые должны и дальше индексироваться;
  • целевая страничка будет часто меняться.
301 redirect 302 redirect
Передает ссылочный вес да нет
Индексация старой страницы нет да
Наличие старой страницы в поиске нет да
Риск попасть под санкции ПС минимален высок
Источник
seo-akademiya.com

302 и 307 редирект

307 Temporary Redirect
Введен в RFC 2616 для устранения неоднозначности статуса 302, назначение которого было изменено. Этот статус означает, что запрошенный документ временно перемещен на другой адрес и запрошенный URL остается действительным.
Реакция ботов та же, что и в случае 302.
При последующих визитах бот будет сканировать основной (старый) адрес: предполагается, что новый адрес присвоен документу только временно и документ рано или поздно будет возвращен на старый адрес.
Источник
wiki.webimho.ru

Видео о 307 редиректе. Включай субтитры и впитывай знания.

301 редирект в WordPress

Нажмите на плюс

Редирект на PHP

<?php
// MyExampleFile.php
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.my-blog.com/a-new-destination"); 
?>

Плагины для 301 редиректа WordPress

Redirection

Trash Duplicate and 301 Redirect

All 404 Redirect to Homepage

SEO Redirection Plugin

Чти:   Публичные доски Trello оказались доступны в поиске Google

301 редирект Битрикс

Нажмите на плюс

301 редирект в Bitrix на адрес с www

В корневой директории сайта в файл .htaccess после строк

Options -Indexes 
ErrorDocument 404 /404.php

Вставляем код

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

C WWW на без WWW

В корневой директории сайта в файл .htaccess после строк

Options -Indexes 
ErrorDocument 404 /404.php
Вставляем следующий код (адресом сайта будет адрес yousite.ru (заменяем его на свой))
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^yousite\.ru$ [NC]
RewriteRule ^(.*)$ http://bolshakof.ru/$1 [R=301,L]

Примеры 301 редиректов для Nginx

Нажмите на плюс

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

server {
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
}

Вариант 2:

server {
listen server_ip:80;
server_name www.dh-agency.ru;
rewrite ^ https://www.dh-agency.ru$request_uri? permanent;
}

С WWW на без WWW

server {
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
}

Вариант 2

server {
server_name dh-agency.ru;
rewrite ^/(.*)$ http://dh-agency.ru/$1 permanent;
}

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

server {
server_name dh-agency.ru;
rewrite ^/(.*)$ http://www.dh-agency.ru/$1 permanent;
}

Вариант 2

server {
listen 80;
server_name www.dh-agency.ru;
}

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

server {
if ( $request_filename ~ oldpage/ ) {
rewrite ^ http://www.dh-agency.ru/newpage/? permanent;
}
}

Вариант для папки:

server {
if ( $request_filename ~ oldfolder/.+ ) {
rewrite ^(.*) http://www.dh-agency.ru/newfolder/$1 permanent;
}
}

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

В server_name возможно указание алиасов и зеркал домена.

server {
server_name dh-agency.ru www.dh-agency.ru;
rewrite ^ $scheme://www.new-dh-agency.ru;
}

Редирект со слэша на без слэша

server {
rewrite ^/(.*)/$ /$1 permanent;
}

Редирект с без слэша на со слэшем

server {
rewrite ^(.*[^/])$ $1/ permanent;
}
Источник: dh-agency.ru

301 редирект OpenCart

Можно применить стандартные настройки для файла .htaccess

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$
RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

301 редирект для MODX (Evo)

Можно применить стандартные настройки для файла .htaccess

RewriteRule ^old-page.html$ new-page.html [R=301,NC,L]

301 редирект Joomla

Можно применить стандартные настройки для файла .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R,L]

301 редирект WIX

В Wix существует стандартная функция, позволяющая сделать 301 редирект

  • Переходим в режим управления сайта;
  • Находим раздел SEO и переходим в него;
  • Пролистываем страницу вниз до блока «Переадресация: 301 редирект»;
  • Нажимаем «Настроить переадресацию»;
  • В соответствующие поля вводим старый и новый URL;
  • Нажимаем «Сохранить» и «Опубликовать».

301 редирект UCOZ (ЮКОЗ)

301 редирект Тильда

Как сделать переадресацию с www на без www?

Как сделать переадресацию с кодом 301 со старых ссылок на новые?

301 редирект на веб-сервере Apache

Как настроить 301 редирект на веб-сервере Apache?
Допишите в файл .htaccess. Не забудьте заменить bolshakof.ru на URL-адрес вашего сайта.
Нажмите на плюс

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

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

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

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

Зацени
SEO блог BOLSHAKOF.RU
Ваше мнение

  1. Croco

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

    Т.е., например:
    чтобы с
    http://uatm.ua/ua/news/u-brenda-mms-problemy-s-torgovoy-markoy-v-shvetsii
    перенаправляло на
    http://uatm.ua/news/u-brenda-mms-pro…koy-v-shvetsii
    Ну и со всех подобных

    Что прописать htacces?
    Спасибо!

    Ответить
  2. acerus

    Удалил(скрыл) с сайта 20 000 лишних товаров 🙂

    Как итог звезданутое падение в посещаемости. Потом я сменил хостинг и удалил все не активные товары. И предыдущее падение показалось не таким звезданутым 🙂

    Сейчас вот сижу и думаю, как бы помочь гуглу объяснить, что с выдачи нужно убрать несколько тысяч страничек….

    Кто что подскажет?

    Ответить
    1. Aijai

      acerus так а в чем проблема?
      Товары удалены, страниц нет, он их сам уберет из выдачи по мере сканирования.

      Ответить
  3. Умник

    Вот более красивое определение 🙂

    Перенаправление 301 — это функция веб-сервера, при которой старый URL-адрес может быть перенаправлен на новый. 301 Redirect — это состояние «перманентного» перенаправления, указывающее, что ресурс перемещен навсегда. Перенаправление 301 обычно используется на веб-сайте, чтобы обеспечить пользователям и поисковым системам доступ к последней версии веб-страницы, которая была перемещена с исходного URL-адреса.

    Ответить