Тарифы Услуги Сим-карты

Сделать редирект со страницы на страницу. Редирект наводит порядки

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

На самом деле существует несколько редиректов. О том как сделать 301 редирект можно посмотреть на инфографике.

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

Использовать переадресацию 301 особенно удобно в следующих случаях:

  • При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, будто перехода и вовсе не было.
  • Для передачи новому домену Page Rank и тИЦ.
  • Для сохранения поискового трафика.
  • Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: //site.ru/sub , //sub.site.ru или //www.site.ru . Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки можно использовать «Инструменты для веб-мастеров».
  • При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  • При переносе страницы сайта в новое место.
  • Для склейки имени сайта с префиксом www и без него.
  • Статья по теме: Корректный переезд сайта на протокол https

    301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новому URL . При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL .

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

    301 редирект в.htaccess

    При использовании сервера Apache, переадресацию можно просто выполнить с помощью файла.htaccess , однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect , RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini .

    Для этого поместите в корне папке вашего сайта файл.htaccess. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias Redirect 301 /old-page.html //new-domain.ru/new-page.html

    Redirect permanent /old-page.html //new-domain.ru/new-page.html

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

    RedirectPermanent /old-url.html //new-site.ru/new-url.html

    Редирект с помощью директивы RedirectMatch

    Этот редирект подобен предыдущему, за исключением того, что можно задавать регулярное выражение для старых URL адресов. Допустим, при смене движка с PHP на ASP, можно старые адреса перенаправить следующим образом:

    RedirectMatch /(.*).php$ /$1.aspx

    Редирект с помощью директивы RewriteRule модуля mod_rewrite

    Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite , а также влючена опция FollowSymLinks . Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

    Статья

    Редирект (от англ. redirect – переориентировать) – это переадресация страницы сайта на какую-то другую страницу или другой сайт. Редирект можно сделать различными способами, основные из которых и будут здесь рассмотрены., а именно redirect на php , javascript , редирект при помощи html и при помощи файла htaccess .

    Среди перечисленных способов, наиболее актуальными являются php redirect и редирект при помощи.htaccess . Дело в том, что именно эти способы позволяют не только переадресовать страницу, но и вернуть специальную 301 ошибку (301 Permament Redirect). Для чего же это нужно? А нужно это для поисковых систем.

    Допустим у нас был раскрученный сайт с большим числом посетителей. Затем сайт был перемещён на новый домен. Поисковая система его ещё не знает. 301 редирект позволяет как бы “склеить” старый и новый адрес, сохранив при этом все те элементы оптимизации, которые были сделаны для этого сайта, тем самым сохранив посещаемость и аудиторию самого сайта.

    А теперь рассмотрим все перечисленные варианты редиректов, и начнём с редиректа на php.

    PHP redirect (301)

    Редирект на php, как и на других языках программирования, основан на спецификации протокола HTTP, а именно отправки необходимых заголовков. Как это работает? Довольно просто. Каждый раз, когда мы обращаемся к какой-то странице интернета, мы получаем HTTP ответ от сервера, который содержит заголовки (header) и тело (body). В теле ответа

    Редирект HTML

    В языке разметки HTML есть специальный мета-тег, предназначенный для переадресации.

    Изменяется только поле content, где указывается количество секунд до переадресации и собственно ссылка, куда будет производиться редирект. Думаю не стоит говорить, что тег помещается в html-код между тегами head.

    Редирект JavaScript

    Пожалуй самый ненадёжный редирект, поскольку пользователь всегда может отключить javascript в браузере. Делается это, правда, нечасто, поэтому способ имеет право на существование.


    function reload() {location = "http://site.com"}; setTimeout("reload()", 0);

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

    Редирект htaccess (301)

    Файл.htaccess – это служебный файл с различными дополнительными настройками сервера Apache. Размещается он вручную, в нашем случае, в корне сайта. С его помощью можно устраивать 301 редиректы, однако для этого в Апаче должны быть включены необходимые модули.

    Использование директив модуля mod_alias

    В данном модуле существуют три директивы: Redirect, RedirectPermanent и RedirectMatch. Первые две вроде как идентичны по своим свойства, третья идёт особняком. Для первых двух пример:

    Redirect 301 / http://site.com
    Redirect permanent /index.html http://site.com
    RedirectPermanent /index.html http://site.com/default.html

    Строчки схожи. Но вроде как существует один минус – чтобы перенаправить все страницы, нужно их все и будет указать в списке. Чтобы как-то облегчить задачу, существует та другая директива:

    RedirectMatch /(.*)\.html$ /$1.php

    Можно задавать регулярные выражения для переадресации со старого урла на новый.

    Использование директив модуля mod_rewrite

    Чтобы не было двоякочтения одних и тех же страниц у поисковиков, иногда нужно переправить все адреса с домена без www на домен с www. Например,

    #включаем модуль и необходимую доп.опцию
    RewriteEngine On
    Options +FollowSymLinks
    #две строки для переадресации от "без ввв" к "с ввв"
    RewriteCond %{HTTP_HOST} ^site.com
    RewriteRule (.*) http://www.site.com/$1

    Вместо заключения

    Если вас всё ещё мучает вопрос, на чём же остановить свой выбор (конечно мучает, тисками и ножницами – прим.ред. ), то пора перестать мучиться (да что вы говорите! – прим.ред. ). Останавливаем взор на редиректе php (или другого языка программирования, которые здесь не были рассмотрены, например Perl) и редиректе при помощи файла.htaccess, поскольку именно они позволяют перенести сайт без всяких потерь для оптимизации в поисковых системах. Если оно не важно, то тогда подойдёт любой метод. И собственно на этой заключительной ноте (соль? ля? си? – прим.ред. ) я и заканчиваю этот пост.

    Довольна сложная и интересная тема. Многие, почти все начинающие блогеры даже понятия не имеют, что такое 301 редирект. Я как-то уже касался этой темы в статье про дубли контента и теперь мы рассмотрим ее поподробней.

    Что такое 301 редирект? Это специальный код, который возвращает сервер при обращении к определенному URL.

    Что это значит? Это значит, что если вы набрали в адресной строке браузера определенный URL, то Вас перенаправят на новый адрес.

    Для чего это все нужно? Возьмем пример из реальной жизни. Заходите вы по определенному адресу, а вам говорят — «А здесь теперь такие не живут! Они совсем своим имуществом переехали на другую улицу и вот Вам их новый адрес…» Согласитесь полезная информация? Я не зря сказал — «…со все своим имуществом» т.е они не чего не оставили на старом адресе. Это важно!

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

    Прописываем 301 редирект в файле.htaccess

    Чтобы выполнить сие действие надо в файле.htaccess прописать следующее:

  • Redirect 301 / http://новый сайт.ru
  • Где «/» означает, что все начиная с «головы» сайта включая все подкаталоги будет переадресовано на новый адрес.

    Не забудьте сделать резервную копию сайта если вдруг что-то пойдет не так!

    Теперь рассмотрим другую ситуацию. У меня есть 2 квартиры, а живу я лишь в одной. Ко мне приходят письма по другому адресу, звонит телефон, заходят разные люди и т.д. А я забыл повесить объявления, что нахожусь я вообще в другом месте. Забавная история! Получается я теряю собственные авторитет в глазах окружающих из-за своей забывчивости.

    Из этого вывод. Надо непременно указать поисковому роботу точный адрес проекта, например: www.сайт.com или просто сайт.com потому, что это два разных адреса.

    Как это осуществить смотрите на этом примере:

    Перенаправление с www на без www

  • Options +FollowSymLinks
  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^www.сайт\.com$
  • RewriteRule ^(.*)$ http://сайт.com/$1
  • Перенаправление с без www на с www

  • Options +FollowSymLinks
  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^сайт\.com$
  • RewriteRule ^(.*)$ http://www.сайт.com/$1
  • Надо заметить, что если в файле.htaccess уже прописана строчка RewriteEngine On, то ее повторять уже не надо и не забудьте вписать свой домен.

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

  • RewriteEngine On
  • RewriteCond %{SERVER_PORT} ^443$
  • RewriteCond %{HTTPS} =on
  • RewriteRule ^(.*)$ http://ваш сайт.com/$1
  • Бывает такие случаи, что необходимо перенести только одну страницу при этом сохранить ее вес. Для этого в файле.htaccess прописываем:

  • Redirect 301 /путь/пост.html http://новый сайт.com/пост.html
  • В этой статье я постарался описать самые распространенные случаи использования 301 редиректа, которые необходимо знать каждому веб-мастеру. На самом деле возможности 301 редиректа на этом не ограничиваются и в будущем я еще не раз буду возвращаться к этой теме, так что советую подписаться на обновления блога .

    До встречи!

    С уважением, Виталий Кириллов

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

    Давайте рассмотрим по ближе как сделать редирект на другой сайт .

    Как сделать редирект на другой сайт? Первый способ сделать редирект на другой сайт (подойдет для новичков)

    Регистрируемся на одном из сайтов 2domains.ru или reg.ru , покупаем домен по чему именно у них? Потому что в зоне.ru или.рф стоит всего 99 рублей в год! Далее надо подождать несколько часов пока ваш домен зарегистрируется. Потом заходим в панель “Мои домены”, и нажимаем на купленный нами домен и делаем что на скрине.

    reg.ru – вариант 1 (при выборе домена)

    reg.ru – вариант 2(после того как вы зашли в купленный домен)

    Нажимаем Заказать услугу «Переадресация домена / Web-forwarding» (она стоит 120 рублей в год)

    В меню справа переходим в раздел Web-forwarding и там снова нажимаем на наш домен и на настройку перееадресации

    И отсюда видим что с домена будет переадресовывать на на страницу вконтакте

    Второй способ сделать редирект на другой сайт

    Это HTML редирект, код вставляется в страницу сайта, которую нужно перенаправить.

    Ну вот и все. Надеюсь статья вам пригодиться.

    Хотите перенаправить URL-адрес из одного места в другое? В этом простом руководстве мы покажем, как можно это сделать с помощью Apache / .htaccess , PHP , JavaScript , HTML и т. д. Каждый метод редиректа HTML мы кратко поясним и продемонстрируем готовые к использованию примеры.

    Редирект URL-адресов с помощью PHP

    Редирект с помощью PHP выполняется с помощью функции header() , например:

    Эта функция должна быть вызвана в начале веб-страницы до вывода HTML-кода . Чтобы узнать больше о настройке этого метода, ознакомьтесь с документацией PHP .

    Чтобы выполнить редирект с помощью PHP через определенное время:

    Редирект на example.com выполняется через 5 секунд. Вы можете изменить это значение на необходимое.

    Редирект URL-адресов с помощью JavaScript

    Вот самый простой способ index html редиректа с помощью JavaScript :

    document.location.href = "http://example.com/";

    Редирект URL-адресов с помощью HTML

    Можно перенаправить пользователя на новый URL-адрес , используя старый добрый HTML . Вот пример:

    Это называется meta-refresh редирект. Можно задать время (в секундах ), изменив 10 на необходимое число. Обратите внимание, что этим методом редиректа часто злоупотребляют спамеры. Поэтому будьте осторожны, если вы реализуете его на общедоступном сайте.

    Редирект URL-адресов с помощью Perl

    Вот два способа редиректа URL-адресов с помощью Perl :

    #!/usr/bin/perl print "Location: http://example.comnn"; exit;

    Редирект URL-адресов с помощью ASP (VB Script)

    Чтобы перенаправить URL-адрес с помощью ASP , добавьте следующий код:

    Редирект URL-адресов с помощью mod_alias Apache

    Самый простой способ перенаправления на серверах Apache :

    Redirect 301 /old-location.html http://example.com/new-location/

    Перед тем, как сделать редирект HTML , этот код нужно добавить в файл .htaccess или файл конфигурации сервера Apache . Вот синтаксис этого метода:

    [Директива] [Код состояния] [Старый URL] [Новый URL]

    При необходимости можно изменить любой из этих параметров. Например, если нужно подставлять старый URL-адрес динамически, чтобы перенаправить все следующие URL-адреса :

    http://example.com/old-directory/file-01.html http://example.com/old-directory/file-02.html http://example.com/old-directory/file-03.html . . .

    Можно использовать RedirectMatch вместо Redirect :

    RedirectMatch 301 /old-directory/file-(.*).html http://example.com/new-directory/file-$1.html

    Также можно изменить код статуса с 301 (постоянный редирект ) на 302 (временный редирект ). Или на любой другой действительный код состояния. Ниже приведено руководство по регулярным выражениям, используемым в методе RedirectMatch :

    • или отсутствию символа );
    • $1 — возвращает шаблон, сопоставляемый первым (.*) .
    Редирект URL-адресов с помощью mod_rewrite Apache

    Более функциональный способ редиректа с помощью Apache — использовать его переписывающий модуль mod_rewrite . Вот несколько примеров, которые можно добавить в .htaccess или в файл конфигурации Apache .

    Пример 1: Редирект с www на без www

    Этот код редиректа HTML перенаправляет все www-версии URL-адресов на их эквивалентные версии без www .

    RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule (.*) http://example.com/$1

    Это называется канонизацией. Вот несколько примечаний о регулярном выражении, используемом в этом примере:

    • . — буквально соответствует точке;
    • $ — обозначает конец запрошенного URI ;
    • (.*) — соответствует любому символу (или отсутствию символов );
    Пример 2: Редирект всего домена

    Чтобы осуществить редирект HTML с текущего домена на новый:

    RewriteRule ^/(.*) https://new-domain.tld/$1

    Аналогично можно перенаправить запросы из поддомена текущего сайта на поддомен на новом сайте:

    RewriteCond %{HTTP_HOST} (.*).old-domain.tld RewriteRule ^/(.*) https://%1.new-domain.tld/$1

    Вот несколько примечаний о регулярном выражении, используемом в этом примере:

    • ^ — обозначает начало запрошенного URI ;
    • (.*) — соответствует любому символу (или отсутствию символов );
    • $1 — соответствует шаблону из круглых скобок (.*) в RewriteRule ;
    • %1 — соответствует первому шаблону из круглых скобок (.*) в RewriteCond
    • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.

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

    Пример 3: Перенаправление всех файлов HTML и PHP

    Вот еще один, более сложный пример скрипта редиректа HTML mod_rewrite :

    RewriteCond %{REQUEST_URI} ^/old-directory/(.*).(html|php)$ RewriteRule (.*) http://example.com/new-directory/%1.%2

    Мы перенаправляем все запросы к любым файлам HTML или PHP , расположенным в папке /old-directory/ . Все соответствующие запросы перенаправляются в тот же файл, который находится в /new-directory/ . Вот несколько примечаний о регулярном выражении, используемом в этом примере:

    • ^ — обозначает начало запрошенного URI;
    • (.*) — соответствует любому символу (или отсутствию символов );
    • . — буквально соответствует точке;
    • (html php) — соответствует либо html , либо php ;
    • — делает шаблон нечувствительным к регистру;
    • %1 — соответствует первому шаблону из круглых скобок (. *) в RewriteCond ;
    • %2 — соответствует второму шаблону из круглых скобок (html|php ) в RewriteCond ;
    • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.
    Редирект ошибки 404 с помощью Apache

    Вот удобный код редиректа html HTML всех ошибок 404 «Not Found» на определенный URL .