Правила приведены для сервера Apache. В правилах: %{QUERY_STRING} - обозначает фрагмент URL -адреса после знака вопроса (задания значений CGI -параметров). Срабатывание того или иного правила для редиректа определяется тем, попадает URL -адрес страницы под это правило или нет. О значении тех или иных обозначений (^, $, NC и т.д.) .
Ниже даны наиболее используемые правила настройки файла.htaccess для 301 редиректа. Лучше размещать все правила после двух строк:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1 RewriteCond %{HTTP_HOST} ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1 Redirect 301 /was.php http://www.site.ru/new.php
При этом, новый адрес указывать необходимо полностью с http и доменным именем.
RewriteRule ^dir /dir-new/$1Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 , тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:
RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=111$ RewriteRule ^dir/index\.php$ /new/sef/?
Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:
RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=(.*)$ RewriteRule ^dir/index\.php$ /new/sef/?
Если требуется настроить переадресацию только для адреса http://www.site.ru/dir/ , но при этом чтобы страница http://www.site.ru/dir/index.php?IBLOCK_ID=1 открывалась по старому адресу, необходимо использовать спецсимвол $ в правиле.
RewriteRule ^dir/$ http://www.site.ru/new-dir/
Для доменов в зоне РФ действуют все те же правила, но только все кириллические символы необходимо заменить на альтернативный код (он на латинице). В частности, сама зона.рф преобразуется в.xn--p1ai .
RewriteCond %{HTTP_HOST} ^old-site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1И для домена в зоне РФ:
RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ RewriteRule ^(.*)$ http://www.site.ru/$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..{1,10}$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.site.ru/$1/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ http://www.site.ru/$1 RewriteCond %{HTTP_HOST} ^si-te\.ru$ RewriteRule ^(.*)$ http://www.site.ru/si-te/ RewriteRule ^bitrix/ /bitrix/admin/ RewriteRule ^(.*)$ http://www.newsite.ru/new/ RewriteRule ^dir(.*)$ /new-file.php RewriteRule ^dir/no-file.html /no-file-new.html RewriteRule ^dir(.*)$ /all.php RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php
Указывается порядок загрузки типов индексного файла, лежащих в корне каталога.
DirectoryIndex index.html index.php index.htm index.shtml RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.site.ru/ RewriteCond %{HTTP_HOST} ^test.site.ru$ RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} RewriteRule [^abc]/unique-file.html /unique-file.html
Код позволяет поставить 301-редирект со всех папок вида http://site.ruuniqe-file.html на один файл в корне /unique-file.html . Бывает полезен при переделке сайта и изменении ссылок.
RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11Код позволяет создать копию страницы с относительным адресом /studio/news/detail.php?ID=230354&PAGEN_2=11 по адресу /testovyi/test/
Внимание, важно, чтобы код ответа сервера для 404 ошибки, был именно 404. Путь к файлу указывается с помощью следующей строчки:
ErrorDocument 404 /404-for-me.php RewriteCond %{HTTP_HOST} ^(+)\.site\.com$ RewriteRule ^(.*) http://site.com/$1 RewriteCond %{HTTP_HOST} ^(+)\.site\.com$ RewriteCond %{HTTP_HOST} !=one.site.com RewriteRule ^(.*) http://site.com/$1
Все правила выполняются в прямом порядке их следования в файле.htaccess и правило, написанное позже, и будет выполняться позже.
Для сайтов, на которых используется не сервер Apache, аналогичные 301 редиректы легко настраиваются с помощью PHP :
Оптимально настраивать все редиректы сразу на конечную страницу (без промежуточных перенаправлений, в один шаг) это улучшает их восприятие со стороны поисковых систем и пользователей.
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)RewriteRule (.*) http://mobile.site.ru/
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)RewriteRule (.*) http://no-search.site.ru/
Переадресация с www.site.ru/component/content/?view=featured на www.site.ru/
RewriteCond %{QUERY_STRING} ^view=featured$ RewriteRule ^component/content/?$ /?
RewriteCond %{QUERY_STRING} ^idc=4&marea=6$ RewriteRule ^index\.php$ /? . - Точка заменяет произвольный символ. - обозначает перечень символов, совпадающих с буквами a, b, или с. [^abc] - перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с. * - означает, что предшествующий символ может повторяться (0 или более раз). * - команда найдёт идущие подряд символы из заданного набора. [^abc]* - с точностью до наоборот. .* - заменяет абсолютно любой набор символов. ".*" - найдёт все подстроки между кавычками. ^ - начало строки (в том случае, если используется в начале выражения). $ - обозначает конец строки. \w - буква, цифра или подчёркивание _. \d - заменяет любую цифру. \D - заменяет любой символ, но не цифру. - заменяет любую цифру. - любая буква от a до z (весь латинский набор символов) в нижнем регистре. - любая буква от A до Z в ВЕРХНЕМ регистре. - любая буква от a до Z в любом регистре. - то же самое. RewriteRule (.*) $1?
Располагать после: RewriteBase /
^ - спецсимвол начала строки;
$ - спецсимвол конца строки;
! - спецсимвол отрицания;
. - точка, заменяет любой символ, но только один;
() - группировка;
\ - «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом.
Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.
Символ повторяется 0 или 1 раз.
+ - повторяется от 1 до 65536 раз.
* - повторяется от 0 до 65536 раз.
Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем или .
NC - флаг NoCase, отключающий проверку регистра символов при срабатывании правила.
R - флаг Redirect, производит процесс остановки изменения URL
-адреса и возвращает результат. Чаще всего используется значение R=301, но возможны и другие для временных перенаправлений (302, MOVED
TEMPORARY
).
L - флаг Last, останавливает формирования URL
-адреса и строка считается окончательной.
UPD :
RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}RewriteCond %{SERVER_PORT} ^443$ RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://your_site.com/$1
В некоторых случаях очень важно использование 301 редиректа. Но важно знать, как правильно применять его для каждой отдельной ситуации. Поэтому здесь собрана подборка ответов на все основные вопросы, связанные с его настройкой.
301 редирект призван помочь вебмастерам переадресовать пользователей с одного URL, который изначально был в адресной строке браузера, на совершенно иной. С точки зрения поисковой оптимизации, 301 Moved Permanently - это постоянный редирект, который помогает переместить до 99% ссылочного веса на новый URL, а старый «пометить» в качестве устаревшего. То есть благодаря этому удастся сохранить позиции в поисковых системах, а если просто изменить адрес URL, не делаля редирект, то для Яндекса и Гугла это будет новой страницей, которая будет ранжироваться без связки с предыдущей историей.
Есть несколько вариантов, когда нужно воспользоваться этим редиректом:
Вариантов решения задачи по настройке 301 редиректа есть несколько. Каким из них воспользоваться - зависит от технических возможностей хостинга . Но у современных хостеров подобных проблем обычно не возникает, а если и появляются, то решается быстро через тех поддрежку. Вот парочка основных ситуаций простого редиректа, с которыми вы можете столкнуться. Для этого понадобиться создать файл с именем.htaccess (если его нет), а затем внести в него нужный код редиректа. Если создать его просто на рабочем столе не получается, то попробуйте сделать это через программу Total Commander, либо FileZilla просто переименовав любой ненужный документ.
Итак, вам нужно перенаправить пользователей на другой сайт. Это будет выглядеть следующим образом:
Redirect 301 / http://site.ru
А если нужно организовать перенаправление со страницы на страницу сайта, то понадобится вот такой код:
Redirect 301 /старая-страница.html http://новый-домен.ru/новая-страница.html
RedirectPermanent /старая-страница. html http://новый-домен.ru/новая-страница.html
В данный момент применение www в названии сайтов считается устаревшим. Однако, такой вариант встречается нередко. Если это не покупка готового сайта , то при создании нового ресурса лучше указывать везде без www. При склеивании доменов объединяются все их самые важные параметры, такие как тИЦ, PR и посещалка. К тому же это поможет оптимизировать ресурс, и избежать ситуации, когда ПС отражение сайта с www принимают за «самозванца» с «ворованным» контентом.
Код для склеивания домена с использованием www на домен без www выглядит так:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.site.ru$ RewriteRule ^(.*)$ http://site.ru/$1
При этом значение RewriteEngine on/off является специализированной директивой, служащей для подключения либо прекращения доступа к коду самого файла. А доступ происходит посредством модуля mod_rewrite. RewriteCond - директива, используемая для формирования условий по правилам преобразования. А RewriteRule - предписание, отвечающее за производимые преобразования, в конкретной ситуации - редирект 301.
Современный тренд - перенос сайтов на защищенный протокол HTTPS. При этом настройка переадресации со страниц с HTTP на HTTPS является ключевым этапом. Делается это следующим образом в файле .htaccess.
RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://site.ru/$1
С чем можно столкнуться, и о каких деталях не стоит забывать при настройке 301 редиректа:
Также существует несколько ситуаций, когда использование 301 редиректа будет ошибочным. Так, лучше не применять многоходовый редирект, если его внедрение займет слишком продолжительное время. Или, например, при наличии контента, который дублируется, и по ряду причин нужно сохранить обе страницы для пользователей. Если страница и ее содержимое не релевантны, то от редиректа тоже стоит отказаться. Ошибкой будет настройка редиректа на некорректно работающую страницу (страница должна быть с 200 или 404 ответом сервера). И, наконец, неверным будет редирект файла robots.txt .
Опытные вебмастеры помимо самого популярного 301 редиректа используют и некоторые другие: от 300-го по 307-й. К примеру, 302 и 307 - это временный редирект, 305 - доступ исключительно посредством прокси и т. д. Также довольно востребованным типом редиректов можно назвать Meta Refresh. Он выполняется не на уровне сервера, а на уровне страницы. Однако, такой редирект эксперты рекомендуют применять как можно реже. Это обосновано тем, что к ним зачастую прибегают дорвейщики и спамеры. К тому же применение этого редиректа практически не дает возможности для передачи ссылочного веса.
Редирект 301 - зачем он нужен? В процессе продвижения сайта может возникнуть ситуация, когда необходимо изменить url страницы. Причины тому могут быть разные: переезд на новый домен, склейка дублей страниц, или даже, не к ночи будут помянуты, санкции поисковых систем. Чтобы изменить url, используется перенаправление, правильно называющееся «301 Permanent Redirect».
301 redirect действует на постоянной основе, передает со старой страницы на новую ссылочный вес, ТИЦ сайта и . Также, если сайт находится в каталоге Яндекс или DMOZ, страниц нового сайта в нем, разумеется, не будет. Помимо этого, используется 301 редирект на другой сайт, и перенаправление с одной версии сайта на другую. В частности так избавляются от проблем при индексации, возникающих из-за дублирования страниц сайта.
Избавление от дублей страниц также называют канонизацией.
При использовании некоторых CMS (систем управления контентом, или «движков» сайта) редирект можно настроить при помощи специальных плагинов. Однако более распространена практика настройки 301 редиректа посредством внесения изменений в файл.htaссess.
Для поисковой системы site.name и www.site.name – разные сайты. Один из них будет проиндексирован, второй же окажется дублем. Чтобы подобного не произошло, делают так называемое «склеивание» сайта. С сайта с «www» указывается перенаправление на сайт без «www». Это делается в файле.htaccess, с помощью следующей конструкции:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1
Если на начальном этапе этого не было сделано, и в индекс попала версия сайта с «www», стоит сделать обратное перенаправление.
RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait\.ru$ RewriteRule ^(.*)$ http://www.vash-sait.ru/$1
При использовании ЧПУ ссылок иногда возникает ситуация, когда url необходимо изменить, но исходная страница уже находится в индексе. Чтобы не потерять позиции и вес при изменении ссылки, стоит установить перенаправление с исходной ссылки с на измененную.
RewriteEngine On RewriteRule ^(.*)url.html$ http://vash-sait.ru/new-url.html
В ситуации, когда необходимо сменить домен, это можно сделать без потерь позиций и веса. Для этого нужно установить 301 редирект со старого домена на новый.
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1 RewriteCond %{HTTP_HOST} ^staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1
Если для сайта используется несколько доменов (алиасов), зарегистрированных в разных доменных зонах, то во избежание дублирования контента, нужно установить 301 редирект на основной домен.
RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait.com$ RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ RewriteCond %{REQUEST_URI} !^/robots.* RewriteRule ^(.*)$ http://vash-sait.ru/$1
RewriteEngine on RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]
В некоторых случаях, главная страница сайта доступна по нескольким адресам одновременно. Это также негативно сказывается на продвижении, так как говорит о дублировании контента. Избавиться от этого можно, применив следующую конструкцию:
RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://vash-sait.ru/
Страницы, в url которых встречается слеш, и страницы, в которых этого символа нет, также могут быть признаны дублями. Следующим кодом устанавливается перенаправление со страниц без слэша на страницы со слэшем:
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1
Если исходный адрес содержит какой-либо параметр (например, http://vash-sait.ru/articles.php?section=1. Параметр здесь "section=1"), то перенаправляющая конструкция будет иметь следующий вид:
RewriteEngine On RewriteCond %{QUERY_STRING} section=1 RewriteRule ^index.php http://vash-sait.ru/articles.php?
Привет, друзья! Я уже затрагивал тему 301 редиректа, когда и рассказывал, как .
Сегодня я более детально расскажу, что такое редирект, и как сделать 301 редирект страницы или целого сайта.
Вообще редирект с кодом 301 не единственный в своем роде. Существует несколько редиректов с разным кодом ответа сервера.
Скорее всего, вы знаете принцип работы web страниц, но на всякий случай расскажу еще раз.
Когда пользователь в браузере вводит ссылку или переходит по какой-то ссылке, браузер формирует HTTP запрос и отправляет его серверу сайта. Сервер после получения запроса, возвращает HTTP ответ с определенным кодом, на основе которого браузер и формирует отображение web страницы. При этом если запрашиваемая страница найдена по указанному адресу, то сервер возвращает код ответа 200. Если страница не найдена, то вернется код 404. Если же страница перемещена на другой адрес, то вернется код редиректа.
Существуют следующие виды редиректов:
Да, редиректов немало. Но используется чаще всего только 301 и 302 редирект. Все остальные могут по разному обрабатываться в различных браузерах, поэтому их не желательно использовать.
Теперь взглянем на это со стороны SEO оптимизации. Оптимизаторы используют только 301 редирект в конкретных случаях. Вообще редиректы использовать нежелательно, но в некоторых случаях они просто необходимы. Такими случаями могут быть:
Если вы вдруг решили сменить домен или поменять URL конкретной страницы, при этом не сделав редирект (перенаправление) на новый URL, происходит следующее.
Сначала поисковик при индексации не находит запрашиваемую страницу, затем через какое-то время он ее выкидывает из индекса, после этого начинает индексировать новую страницу и только потом она появится в поиске, и не факт, что на прежних позициях. А скорее намного ниже. Весь этот процесс может занять от нескольких недель до нескольких месяцев, причем скорее всего получится второе. И как результат вы теряете время, позиции, поисковый трафик, авторитет сайта и потенциальных клиентов.
Чтобы всего этого избежать есть простое и верное решение, которое рекомендуют сами поисковые системы, это 301 редирект.
Конечно, если настроить 301 редирект, позиции сайта все равно просядут. Но через 2-3 апдейта они вернутся на свое место. Это единственный маленький минус редиректа. Зато есть немало плюсов:
Польза 301 редиректа очевидная!
Очень часто неопытные вебмастера вместо 301 редиректа ставят 302. Это неправильно! Этим вы сообщаете поисковым системам, что страница перемещена временно, соответственно они не будут индексировать новый адрес.
Ну что ж, что такое редирект и для чего он нужен мы разобрали, теперь расскажу как настроить 301 редирект.
Существуют два варианта создания 301 редиректа, по крайней мере больше я не знаю. Первый вариант – его настройка в файле.htaccess, и второй при помощи скрипта.
Второй вариант я нашел на популярном SEO форуме SBup.com , за что спасибо пользователю с ником egor1 .
Чтобы сделать 301 редирект для смены домена и соответственно всех URL в файле htaccess, нужно скачать указанный файл со своего хостинга к себе на компьютер и вставить всего две строки:
RewriteCond %{HTTP_HOST} старый домен.ru RewriteRule (.*) http://новый домен.ru/$1
Конечно в зависимости от вашего движка и хостинга, файл htaccess может немного отличаться, но в целом все идентично.
У вас должен получиться htaccess такого вида:
# BEGIN McHost Redirect 301 /admin/ /wp-admin/ # END McHost # BEGIN WordPress RewriteCond %{HTTP_HOST} старый домен.ru RewriteRule (.*) http://новый домен.ru/$1 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
Если же вы хотите сделать редирект не всего домена, а какой-то конкретной страницы, то достаточно прописать одну строку, ну или несколько, в зависимости от того сколько страниц перенаправляете. Выглядит это вот так:
Redirect 301 /старая страница.html http://ваш-сайт.ru/новая страница.html
Обратите внимание, что при этом старую страницу достаточно прописать после слеша, а новую нужно полностью.
Как я уже заметил выше, этот способ я прочел на одном SEO форуме, увидеть его можете по этой . Но я с позволения автора продублирую его. Код тестировался на Joomla, но я думаю будет прекрасно работать и на других движках работающих с PHP.
Итак, объясню как пользоваться скриптом на движке WordPress.
Открываем файл function.php и вставляем сам скрипт:
uri = $_SERVER["REQUEST_URI"]; $this->site = "http://тут ваш сайт.ru"; $this->mode = "dev"; $this->set(array("/старая страница(обязательно со слешем в начале)" => "/новая страница (со слешем в начале обязательно)",)); //Если вы пользуетесь CMS Joomla, а именно с Virtuemart, то при смене SEO суффикса у товара можно использовать такой простой код который перенаправляет со старой страницы с старым суффиксом на страницу с новым суффиксом, чтобы использовать эту функцию просто уберите два слеша в начале вызова функции ($this->suffix), и напишите в соотвествующих местах старый и новый суффиксы //$this->suffix("старый суффикс","новый суффикс"); $this->accept(); } public function set($toSet) { if(!empty($toSet)){ foreach($toSet as $from => $to){ $this->index[$from] = $to; } } else { if($this->mode != "prod"){ echo "Nothing to redirect!"; } } } public function suffix($old, $new) { if(eregi($old ,$this->uri)){ if(!empty($old)&&!empty($new)){ $tmp = $this->uri; $url = str_replace($old, $new, $tmp); header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $this->site . $url); } else { die("Empty suffix"); } exit(); } } public function accept() { if(!empty($this->index)){ foreach($this->index as $key => $value){ if($this->uri == $key){ echo $this->site . $value; header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $this->site . $value); exit(); } } } else { if($this->mode == "dev"){ echo "You don"t have URL"s to redirect!"; } } } }
Не забудьте указать в данном коде старые страницы и новые, на который должен быть редирект, и вместо записи «тут ваш сайт», свой домен.
Затем открываем файл index.php и в самом начале вставляем вот этот код:
Require("function.php"); $rm = new Redirect();
Таким способом можно редиректить сколько угодно, 10-20 страниц. Достаточно продублировать кусок кода:
"/старая страница(обязательно со слешем в начале)" => "/новая страница (со слешем в начале обязательно)",
Мне данный способ очень понравился, тем более что он будет работать, даже если у вас сервер не Apache.
Ну и небольшой совет напоследок.
После того, как поисковые системы полностью проиндексировали страницы по новому адресу, нужно убрать редирект, и можно удалять старые адреса полностью.
Важно! Google может не ставить различий между кодом ответа сервера 302 и 301 – оба варианта переадресации передают PageRank и ссылочный вес от старого адреса страницы к новому. Об этом заявил специалист службы качества поиска Google Джон Мюллер
Здравствуйте, дорогие мои друзья! Сегодня я решил написать статью о «страшном» понятии как 301 редирект . Да, не пугайтесь так, на самом деле всё очень и очень просто:). В данной статье я Вам расскажу, что это такое, зачем он нужен, как его сделать и много другой не менее полезной информации по этой теме!
Новость №1
Очень увлёкся инвестированием в различные популярные брокерские компании. Я уже написал пару статей на эту тему, куда я вложил немного денег:
В этих статьях я рассказал куда и сколько я инвестировал. Скоро узнаете ещё об одной не менее прибыльной брокерской компании, поэтому не пропустите выхода этой статьи! Доход в месяц от инвестирования в этой компании, а вернее в данной программе доверительного управления от 7-40%.
А теперь, давайте разберёмся, что такое redirect.
Редирект (redirect) — это переброс (перенаправление или переадресация) c одного доменного имени на другого (с одного сайта на другой), с одной страницы сайта на другую. Т.е. пользователь набирает в строке своего браузера одно название страницы или сайта, а попадает совсем на другое название страницы или сайта.
Используют редирект 301 в следующих случаях:
1. Для склейки .
Помните, в прошлой статье я рассказывал о нежелательности иметь сайт с доменом www, так как это приводит перераспределению ссылочной массы на два домена и, как следствие, негативно влияет на ранжирование сайта в поисковиках;
2. При переходе сайта на новый домен. Бывает так, что сайт попадает под различные фильтры поисковых систем, поисковый трафик снижается (или вообще исчезает), поэтому возникает необходимость на новый домен. А как быть с постоянными читателями блога? Как быть с теми, кто сохранил ваш блог в закладках или подписался на ? Вот для этого и пригодится 301 редирект ;
3. Для повышения тИЦ и PR сайта, сохранения поискового трафика. Например, вы хотите повысить и ПР определённому сайту (основному). Для этого нужно купить с уже имеющимися хорошими пузомерками и сделать редирект на основной сайт, тогда тИЦ, ПР и поисковой трафик будет передаваться ему.
4. Если вам нужно поменять адрес страницы. Например, ваша страница занимает высокие позиции в поисковиках или прошла индексацию и вам не хочется, чтобы она выпадала из индекса, тогда редирект 301 как раз то, что нужно.
5. При переходе бесплатного хостинга на платный .
Также есть ещё ряд применений редиректу 301, но пока остановимся на вышесказанном.
Как я уже сказал, для общего развития, начинающему вебмастеру нужно знать, что кроме 301 редиректа существуют и другие:
Но наиболее часто используют 301 редирект.
Возникает вопрос: а что же такое файл .htaccess ? Это файл, в котором будут хранится различные команды 301 редиректа (о переадресации страницы, домена и т.д.).
Дело в том, что обычным способом на компьютере его не переименовать, выдаётся ошибка (у меня так), а при помощи вышеперечисленных программ точно можно.
А теперь открываем файл (с помощью текстового редактора) и вписываем необходимый код редиректа.
Redirect 301 / http://www.домен.com
Redirect 301 — указывает, на то, что сайт перемещён;
«/» — указывает, что всё с верхнего уровня блога будет перемещено (переадресовано) на новый домен.
Например, если вы хотите с одной страницы сайта сделать перенаправление на другую страницу сайта, то в файл.htaccess нужно вставить следующий код:
Redirect 301 /старая-страница.html http://новый-домен.ru/новая-страница.html
или
Redirect permanent /старая-страница.html http://новый-домен.ru/новая-страница.htmlRedirectPermanent /старая-страница.html http://новый-домен.ru/новая-страница.html
Этот редирект практически тот же, что и предыдущий, но здесь вы можете задать регулярное выражение для старых , например, при смене CMS с PHP на ASP, код редиректа будет выглядеть так:
RedirectMatch /(.*)\.php$ /$1.aspx
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\ .ru$
RewriteRule (.*) http://www.site.ru/$1
RewriteEngine on|off - это специальная директива, которая служит для отключения или включения доступа к коду файла.htaccess, доступ осуществляется через модуль хостинга mod_rewrite;
RewriteCond - это специальная директива, которая определяет условия для правил преобразований. Является директивой модуля хостинга mod_rewrite;
RewriteRule - это директива, которая отвечает за различные преобразования. В данном случае редирект 301.
Сначала информация о странице поступает в директиву RewriteCond, после чего эта информация преобразовывается в директиву RewriteRule. Вот так работает вышеприведённый код, если вкратце.
Да, информация сложная для понимания (поначалу), но если Вы её освоите, то в дальнейшем будет намного проще.
А на этом статью буду заканчивать, всем пока!
P.S.
С уважением,Александр Сергиенко