×
Россия +7 (495) 139-20-33

Как сделать 301 редирект в .htaccess

Россия +7 (495) 139-20-33
Шрифт:
0 5363

Permanent Redirect 301 («301 редирект», «постоянный редирект» или «301 редирект страницы») представляет собой процесс перенаправления пользователя с одной страницы на другую, например, между версиями http и https, с www и без www и так далее. 

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

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

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

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

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

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

  • Сайт сменил домен. 

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

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

  • Установка SSL-сертификата. 

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

  • Смена URL конкретной страницы. 

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

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

  • Перенос разделов на поддомены. 

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

  • Для того, чтобы объединить сайты, расположенные в разных доменных зонах. 

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

  • Устранение дублей страниц или копий сайта. 

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

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

  • Основным должен быть принцип «от меньшему к большему» – то есть располагайте редиректы от частных к более глобальным, например, постраничная переадресация должна быть выше, чем переадресация с без www на www. Это необходимо для того, чтобы сначала сработали частные редиректы и уже только потом (при необходимости) общие. 
  • Избегайте последовательных двойных, тройных редиректов. Желательно, чтобы все переадресации выполнялись в один шаг. 
  • Проверьте HTTP-заголовки и статусы ответа сервера, чтобы убедиться в правильности работы редиректа. При проверке имейте в виду, что многие браузеры кешируют редиректы. Проверить настройки можно с помощью сервиса Яндекс.Вебмастер или любого подобного, например, https://bertal.ru/

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

  • Готовые модули для CMS, например, в WordPress. В этом случае информация по переадресациям указывается непосредственно в админ-панели сайта. 

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

301 редирект

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

  • Настройка через указание отдельного условия в PHP-скрипте. Таким образом, обращаясь к корневому файлу php браузер получает команду открыть новую страницу вместо старой.

Например:  

header('HTTP/1.1 301 Moved Permanently');  

header('Location: http://www.example.com/'); 

  • Если необходимо перенаправить одну единственную страницу на сайте, одним из решений может быть настройка при помощи HTML путем добавления специального тега в заголовок HTML-документа (Meta Refresh). 

Например, < meta http-equiv="refresh" content="0; url=http://site.com" > 

  • JavaScript – операция осуществляется непосредственно через браузер и является наиболее медленным способом. Используется, если необходим редирект с задержкой. Минусом является то, что такой редирект не будет работать, если JavaScript отключен в браузере. И не будет учтен Яндексом. 

Например, window.location.href="https://site.com" 

  • Настройка 301 редиректа на nginx. Настройки необходимо вносить в файлах конфигураций виртуальных доменов. 

Например, rewrite ^https://$host$request_uri? < флаг >; 

где: 

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

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

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

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

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

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

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

  • Для настройки переадресаций на сервере Apache более надежной является настройка серверных редиректов через внесение изменений в файл .htaccess. Разберем этот способ подробнее.   

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

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

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

Сайты http://site.ru и http://www.site.ru для поисковых систем считаются дублями, что может существенно сказаться на продвижении вашего ресурса. Для решения подобной проблемы необходимо сделать так называемую «склейку» сайта, то есть прописать 301 редирект в .htaccess. 

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

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

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

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

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

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

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

Для всего сайта 

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

RewriteCond %{SERVER_PORT} !^443$ 

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 

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

RewriteCond %{HTTPS} =on 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] 

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

RewriteCond %{HTTPS} off 

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

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

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

RewriteEngine On 

RewriteCond %{SERVER_PORT} !^443$ 

RewriteCond %{REQUEST_URI} =/page.php 

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

Постранично 

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

RewriteEngine On 

RewriteCond %{HTTPS} =off 

RewriteCond %{REQUEST_URI} !^/page.php 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] 

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

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

RewriteEngine On 

RewriteCond %{HTTPS} =off 

RewriteCond %{REQUEST_URI} =/page.php 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] 

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

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

RewriteCond %{SERVER_PORT} ^443$ [OR] 

RewriteCond %{HTTP} =on 

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

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

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

RewriteCond %{THE_REQUEST} // 

RewriteRule .* /$0 [R=301,L] 

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

Для склейки подобных дублей в файле .htaccess используют следующую конструкцию: 

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} ![^\/]$ 

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

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

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_URI} ^(.+)/$ 

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

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} ![^\/]$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} ![^\/]$ 

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

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

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

RewriteCond %{REQUEST_URI} ^\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} \/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} \/$

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

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

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

RewriteCond %{REQUEST_URI} ^\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} \/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} !\/$ 

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

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

RewriteCond %{REQUEST_URI} !\? 

RewriteCond %{REQUEST_URI} !\& 

RewriteCond %{REQUEST_URI} !\= 

RewriteCond %{REQUEST_URI} !\. 

RewriteCond %{REQUEST_URI} \/$ 

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

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

Изменение домена 

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

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

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

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

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

Редирект на страницу с другим URL (без параметров) 

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

RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L] 

Редирект для URL (с параметрами) 

В случае, когда адрес содержит параметр (например, http://site.ru/articles.php?section=1, где параметром является «section=1» ), то прописывают следующую конструкцию: 

RewriteCond %{QUERY_STRING} section=1 

RewriteRule ^index.php http://name.site/articles.php? [R=301,L] 

Редирект с index.php на главную 

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 

RewriteRule ^index\.php$ http://name.site/ [R=301,L] 

301 редирект с 404 Not Found 

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

Нижеприведенный код перенаправит со всех 404 страниц на главную сайта: 

ErrorDocument 404 http://www.site.com/301.html 

Однако делать такие редиректы для абсолютно всех страниц со статусом 404 не рекомендуется. 

Финальный вид файла .htaccess 

Пример файла .htaccess, после добавления в него редиректов. 

Options -Indexes 

ErrorDocument 404 /404.php 

php_flag register_globals off 

php_value pcre.recursion_limit 1000 

#Условия 301 редиректа 

< IfModule mod_rewrite.c > 

RewriteEngine On 

# склейка зеркал 

RewriteCond %{HTTP_HOST} ^my_site\.ru 

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

RewriteCond %{HTTP_HOST} ^www.my_site\.ru 

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

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

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

# без слеша 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_URI} ^(.+)/$ 

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

< /IfModule > 

php_value default_charset utf-8 

AddType 'text/html; charset=utf-8' .html .htm .shtml 

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

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

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.domain.ru необходимо применить: 

RewriteEngine on 

RewriteBase / 

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

RewriteCond %{REQUEST_URI} !/poddomen/ 

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

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

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

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 редирект для конкретного файла, а не целой папки 

Если требуется настроить переадресацию только для адреса 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

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

RewriteCond %{HTTP_HOST} ^si-te\.ru$ [NC] 

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

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

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] 

Смена страниц с html расширения на php расширение 

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

Перенос картинок / изображений из папки /img/ на поддомен 

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

Задание типа индексной страницы (php, html, htm и другие) 

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

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

Редирект с индексной страницы 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] 

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

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

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

Редирект для заданного файла в различных директориях (папках) 

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

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

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/. 

Настройка 403 кода ответа сервера для реф-спама (301 редирект для спама по REFERER) для списка ресурсов

RewriteCond %{HTTP_REFERER} ref-spam-site.ru [NC,OR] 

RewriteCond %{HTTP_REFERER} another-ref-spam.ru [NC] 

RewriteRule .* - [F] 

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

Настройка редиректа только для некоторых USER_AGENT'ов, а не для всех пользователей 

RewriteCond %{HTTP_USER_AGENT}

(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] 

Если требуется настроить редирект для всех поисковых роботов (представлен список их USER_AGENT'ов) 

RewriteCond %{HTTP_USER_AGENT} !(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]

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

  • Вы временно, а не постоянно переезжаете на новую страницу: для этого есть 302 код, что позволит избежать «склейки» изначальной и новой страниц, а также позволит сохранить позиции в выдаче. 
  • Если переезд на новый домен является решением таких проблем, как баны, фильтры и т.д., 301 редирект повлечет за собой перенос и всех этих проблем на новый сайт.
(Голосов: 10, Рейтинг: 5)
Читайте нас в Telegram - digital_bar

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Алгоритм продвижения сайта через Pinterest
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - В самом вверху есть ссылка на мою группу в ВК, там где автор материала. Через группу и свяжитесь со мной_)
Как забрать 5 мест в выдаче из 10. Кейс-эксперимент
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - такое можно делать и с ВЧ_)
Ссылочный апдейт Google: что изменится для SEO-специалистов в рунете
Тимур
6
комментариев
0
читателей
Полный профиль
Тимур - Понял, спасибо за информацию.
Как продвинуть сайт по коммерческим запросам в ТОП-10 с помощью ресурса Reddit
Denis Zar
2
комментария
0
читателей
Полный профиль
Denis Zar - пользовались услугами по продвижению на реддит от reddit-marketing.pro?
3 основные ошибки, которые допускают владельцы сайтов при продвижении
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - Не обращай внимания_) Если у тебя хороший ресурс, то ты будешь первоисточником, и все кто своровал, автоматически начнут на тебя ссылаться, точнее, так гугл будет считать_)
Как мы увеличили трафик из Яндекса более чем в 3 раза за неделю на сайте клиники. Кейс
Андрей
1
комментарий
0
читателей
Полный профиль
Андрей - У большинства сайтов произошел рост в Гугле в декабре и в марте Яндекса. Ваши шаманства тут не причём :)
Зарабатываем с помощью текстов: как создать уникальный контент и монетизировать сайт
dotaidi
94
комментария
0
читателей
Полный профиль
dotaidi - Какой-то нейро-физиологический подход к теме создания контента: 1. " ..чтобы контент отвечал интересам аудитории, закрывал ее боли и потербности". Закрыть боль аудитории? Это как понимать, текст что должен выполнять функцию анестезии? Зачем падать в медицинские категории, это ведь профессиональный текст о SEO, а не триллер и не художественная литература, где метафоры уместны. 2. "Главное — чтобы процесс сбора информации вас увлекал и нравился, ведь эта работа требует усилий". Построение тезиса предполагает, что если работа не нравится, то и усилий она не требует. И вообще, упор в работе на главное значение "нравится" — очень спорное и тоже из области НЛП-игрушек. Стилистика статьи тоже желает более продуманного подхода к использованию словосочетаний специфической терминологии: "вы можеет создавать материалы в коллаборации с известными брендами, релевантными тематике вашего сайта". Бренд не может быть релевантным из-за того, что это целый комплекс явлений, собранный под некоторой узнаваемой семантической или графической символикой. Релевантность — качество, свидетельствующее о совпадении запроса(желания) и выдачи (полученной информации). Это нужно хотеть бренд, чтобы он стал релевантным. Аналогия и релевантность не синонимы. "прикладывайте усилия в сбор и обработку информации" и многие подобные обороты делают статью не просто нерелевантной, но просто безграмотной.
Как доработка структуры вывела сайт в ТОП-10 Google и увеличила трафик в 2 раза. Кейс Связной Трэвел
Дмитрий
3
комментария
0
читателей
Полный профиль
Дмитрий - Вероятнее всего было обновление Google и позиции были снижены в связи с низкой скоростью загрузки страниц (так как доработке ведутся не только по SEO, но и в целом по функционалу сайта, появляются новые скрипты). В этот период в Google Search Console увеличилось количество страниц с низкой скоростью загрузки. Мы выявили несколько проблем, которые снижают скорость загрузки страниц и выдали рекомендации по их устранению. Пока данные рекомендации находятся в работе. Также был проведен анализ EAT факторов и проверка сайта на соответствие требованиям Google к YMYL сайта, выданы рекомендации по доработке данных факторов (ждем внедрения наших рекомендаций, поделимся потом результатами).
Рост ботных переходов на сайт: как интерпретировать и что делать
Mike
5
комментариев
0
читателей
Полный профиль
Mike - как это проверить? что товары выводится именно на основе спроса, а не по заданным алгоритмам?
Сравнительная статистика уровня жизни SEO-специалистов в семи странах, включая Россию
Рустам
1
комментарий
0
читателей
Полный профиль
Рустам - Средняя температура по больнице, подсчет даже близко не отображает действительность, особенно учитывая разность цен и уровня зп в разных частях больших стран (США, Канада, Россия)
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
385
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
114
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
94
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
62
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!