web разработка по низким ценам
ул. Шевченко, 37а / офис 1
Украина, ЧО, г. Нежин
+38 068 681 00 08
ежедневно с 08:00 до 22:00
Оставьте заявку, и мы перезвоним вам в течении 15 минут
отправить
Представьтесь пожалуйста *Например, Виктор Смирнов
Ваш номер телефона *Например, +38 (068)-681-00-08
Примечание для оператораНапример, Пожалуйста, свяжитесь со мной во второй половине дня
* - поля, обязательные для заполнения
x
Оставьте заявку, и мы свяжемся с вами в ближайшее время
отправить
Тема обращенияНапример, Требуется продвижение сайта
Представьтесь пожалуйстаНапример, Виктор Смирнов
Ваш номер телефонаНапример, +38 (068)-681-00-08
Ваш e-mailНапример, youname@site.com
Сообщение для оператораНапример, Пожалуйста, помогите мне определиться с тарифом
Все поля, обязательны для заполнения
x
» Настроить 301 редирект в htaccess

Настроить 301 редирект в htaccess

Опубликовано: 28.09.2016 в 22:50
301 ошибка или 301 редирект возвращается при обращении поискового робота или пользователя по определенному URL и указывает на то, что страница или сайт, к которому обращался пользователь, больше не располагается по этому адресу, так как была перенесена на новый. При этом пользователь или поисковый бот будут перенаправлены на новый адрес.

Настроить 301 редирект в htaccess

Когда может пригодиться 301 редирект?

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

Настроить 301 редирект в htaccess

    В Google и Яндекс редирект 301 обычно передает: 
    • ТИЦ и PR страниц.
    • Ссылочный вес. 
    Однако есть вещи, которые не передаются редиректом на новый URL-адрес. К их числу относятся: 
    • Возраст (в случае изменения домена). Хотя если редирект был настроен в пределах одного домена, с одной страницы на другую, то этот показатель передается.
    • Санкции, наложенные на домен сайта.
    Как только будет установлен редирект, пользователи и ПС будут перенаправляться со старого адреса на новый. Поисковики получают сигнал, указывающий на новый адрес страницы, который сейчас является основным. Все основные показатели «перетекают» на него.

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

    Настроить 301 редирект в htaccess

    Как настроить 301 редирект в htaccess? 

    Теперь стоит рассмотреть, как сделать правильный 301 редирект. Приведем ряд рабочих, готовых решений, которые окажутся для Вас полезными.
    Настройка перенаправления в файле .htaccess посредством директив
    Внимание! Возможность настройки 301 редиректа через файл .htaccess зависит от того, какой web-сервер будет использоваться на Вашем виртуальном сервере или виртуальном хостинге. Чаще всего это Apache, который позволяет быстро сделать настройку редиректа через файл .htaccess.

    Единственное условие – наличие включенных модулей mod_rewrite или mod_alias в файле php.ini. Но, как правило, они включены на хостинге, а значит, Вы можете сразу приступить к настройкам.

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

    Внимание! При использовании примеров кода «ваш-сайт.ua» замените на доменное имя Вашего веб-ресурса.

    Настроить 301 редирект в htaccess

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

    Для того чтобы использовать директиву RewriteRule, на Вашем хостинге обязательно должен быть подключен модуль mod_rewrite, а также включена опция FollowSymLinks в файле httpd.conf. К сожалению, многие не подозревают, что с таким модулем приходится работать чаще, чем можно себе представить, особенно если Вы используете ЧПУ ссылок в движках WordPress или Joomla.

    Чтобы настроить перенаправление в .htaccess, Вам пригодятся такие операторы регулярных выражений: 
    • любой символ – «.»;
    • ограничитель справа – «$»;
    • ограничитель слева – «^»;
    • один и больше символов – «+»;
    • ноль и больше символов – «0»;
    • диапазон значений – «[]»;
    • переменная – «()»;
    • экранирование  – «\». 

    Настроить 301 редирект в htaccess

      Перенаправление доменного имени с www на без-www

      Достаточно часто 301 редирект применяется для склеивания URL сайта с www и без них. Ранее поисковики воспринимали это как абсолютно разные сайты, но сегодня они могут определять зеркало сайта, но все же не стоит рисковать, а указать им на правильное зеркало.

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

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

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

      Хотя существует другой, более понятный код:

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^www.ваш-сайт\. ua $ [NC]
      RewriteRule ^(.*)$ http://ваш-сайт.ua/$1 [R=301,L]

      Перенаправление домена без www на доменное имя с www
       
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^ ваш-сайт\.ua$ [NC]
      RewriteRule ^(.*)$ http://www.ваш-сайт.ua/$1 [R=301,L]

      Альтернативный вариант по типу первого:

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

      Редирект страницы с ЧПУ URL на другую страницу с ЧПУ URL

      В настоящее время многие движки позволяют применять ЧПУ ссылки, и нередко ввиду определенных обстоятельств владельцам сайтов приходится менять один URL-адрес на другой. Приведем вариант редиректа страницы http:// ваш-сайт.ua /optimizatsiya.html на страницу http://ваш-сайт.ua/seo-optimizatsiya.html.

      RewriteEngine On
      RewriteRule ^(.*)optimizatsiya.html$ http://ваш-сайт.ua/seo-optimizatsiya.html [R=301,L]

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

      Иногда требуется сменить один доменный адрес сайта на другой. В этом случае необходимо установить перенаправление со старого домена на тот, который Вы собираетесь использовать. Прописать код, представленный нами ниже, необходимо в .htaccess старого сайта.

      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^www\.старый сайт\.ua$ [NC]
      RewriteRule ^(.*)$ http://новый-сайт.ua/$1 [L,R=301]
      RewriteCond %{HTTP_HOST} ^старый сайт\.ua$ [NC]
      RewriteRule ^(.*)$ http://новый-сайт.ua/$1 [L,R=301]

      В рассмотренном нами примере старый домен с www и без www перенаправляются на новый домен без www.

      Редирект домена алиса на главный домен

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

      И поскольку это плохо в плане SEO-оптимизации, то нужно выбрать какой-то главный домен и сделать на него редирект. К примеру, если основной домен ваш-сайт.ua, то сделать на него перенаправление ваш-сайт.com и www.ваш-сайт.com можно следующим способом:

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^ваш-сайт.com$ [OR,NC]
      RewriteCond %{HTTP_HOST} ^www.ваш-сайт.com$ [NC]
      RewriteCond %{REQUEST_URI} !^/robots.*
      RewriteRule ^(.*)$ http://ваш-сайт.ua/$1 [R=301,L]

      Перенаправление страниц с расширением .htm на страницы с расширением .html

      К этому редиректу прибегают, чтобы предотвратить появление в индексе дублей веб-страниц с расширением:

      RewriteEngine on
      RewriteBase /
      RewriteRule ^(.*)\.htm$ $1.html [R=301,L]
      Редирект страницы ваш-сайт.ua/index.php на ваш-сайт.ua

      Так Вы уберете дубли главной страницы такого типа, которые иногда появляются в индексе.

      RewriteEngine On
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
      RewriteRule ^index\.php$ http://ваш-сайт.ua/ [R=301,L]

      Если необходимо склеить дубли вида ваш-сайт.ua/home.html на ваш-сайт.ua

      RewriteEngine On
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /home\.html\ HTTP/
      RewriteRule ^home\.html$ http://ваш-сайт.ua/ [R=301,L]

      Редирект URL адреса с параметром на любую другую веб-страницу сайта

      В том случае, если URL-адреса содержат параметры, то при необходимости Вы можете выполнить редирект страницы с определенным параметром на другую. К примеру, страницы http://ваш-сайт.ua/index.php?section=1 на страницу http://ваш-сайт.ua/index.php?section=2. Параметр в URL идет обычно после "?", в нашем случае это section=1, сам код будет следующим:

      RewriteEngine On
      RewriteCond %{QUERY_STRING} section=1
      RewriteRule ^index.php http://ваш-сайт.ua/index.php?section=2 [R=301,L]

      Более того, URL с параметром можно перенаправить на главную страницу сайта таким образом:

      RewriteEngine On
      RewriteCond %{QUERY_STRING} section=1
      RewriteRule ^index.php http://ваш-сайт.ua/? [R=301,L]

      Редирект посредством директив RedirectPermanent или Redirect модуля mod_alias

      Директива Redirect производит простой редирект поискового робота и посетителя на новый URL.

      Синтаксис этой директивы такой: Redirect [status] URL-path URL.

      Условные обозначения:
      • Новый адрес страницы или веб-документа – URL.
      • Старый адрес документа – URL-path.
      • Код возврата (не является обязательным полем) – Status. При этом можно использовать значения: постоянный перенос – 301, временный перенос – 302, удален – 410 или gone, смотрите другой – 303 или seeother. 
      Директива прописывается все в том же файле .htaccess.

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

      Для этого в .htaccess старого домена нужно прописать:

      Redirect 301 / ваш-сайт.ua

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

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

      Redirect 301 /category/старая-страница.html http://ваш-сайт.ua/category/новая-страница.html
      Переадресация каталога
      Redirect 301 /категория http://ваш-сайт.ua/новая-категория/
      Redirect permanent – это директива, говорящая, что веб-страница была перемещена.

      Синтаксис:

      Redirect permanent URL-path URL
      URL-path: локальная часть URL документа, с которого идет редирект.
      URL: URL куда должен идти редирект.

      Записывается все точно так же, как с директивой Redirect, однако код возврата указывать не нужно. Для перенаправления одной страницы на другую пропишите так:

      Redirect permanent /старая-страница.html http://ваш-сайт.ua/новая-страница.html

      301 редирект через скрипт посредством передачи заголовков

      Вся работа редирект 301 через скрипты PHP, javascript, ASP состоит в передаче клиенту, т. е. поисковому роботу или браузеру, определенных заголовков:

      HTTP/1.1 301 Moved Permanently
      Location: http://ваш-сайт.ua/category/новая-страница.html

      Предоставим примеры настройки редиректа 301 в .htaccess для различных скриптов

      301 редирект на PHP

      Такой код лучше помещать в начало скрипта PHP-файла. Вместо http://ваш-сайт.ua/новая-страница.html необходимо указать URL страницы, куда будет перенаправлен поисковый бот или пользователь.

      <?php
      header("HTTP/1.1 301 Moved Permanently");
      header("Location: http://ваш-сайт.ua/новая-страница.html");
      exit();
      ?>

      301 редирект на ASP

      <%@ Language=VBScript %>
      <%
      Response.Status="301 Moved Permanently”
      Response.AddHeader "Location”, "http://ваш-сайт.ua/новая-страница.html”
      response.end
      %>

      301 редирект ASP.NET

      <script runat="server”>
      private void Page_Load(object sender, System.EventArgs e)
      {
      Response.Status = "301 Moved Permanently”;
      Response.AddHeader("Location”,"http://ваш-сайт.ua/новая-страница.html”);
      }
      </script>
      301 редирект для Ruby on Rails 
      def old_action
      headers["Status”] = "301 Moved Permanently”
      redirect_to "http://ваш-сайт.ua/новая-страница.html”
      end

      301 редирект для Java (JSP)

      <%
      response.setStatus(301);
      response.setHeader( "Location”, "http://ваш-сайт.ua/новая-страница.html” );
      response.setHeader( "Connection”, "close” );
      %>

      301 редирект для CGI PERL

      $q = new CGI;
      print $q->redirect("http://ваш-сайт.ua/новая-страница.html”);

      ColdFusion редирект

      <.cfheader statuscode="301” statustext="Moved permanently”>
      <.cfheader name="Location” value="http://ваш-сайт.ua/новая-страница.html”>

      Еще несколько советов о том, как настроить 301 редирект в htaccess

      1. Прибегать к вышеперечисленным методам стоит только тогда, если сайт использует Apache или находится на Linux-сервере. Причем обязательно должны быть подключены такие модули, как mod_alias и mod_rewrite.
      2. Вместо .htaccess существует еще один эффективный способ настройки 301 редирект – внести изменения в hpptd.conf. Многие специалисты считают этот способ лучшим, так как использование .htaccess создает дополнительную нагрузку на сервер.
      3. Если редирект настроен неправильно, убедитесь, что в других файлах не прописан другой редирект, поскольку их конфликт станет причиной множества непредвиденных проблем.
      4. Перед тем как настроить 301 редирект, советуем внимательно ознакомиться с официальной документацией, где прописаны основные правила и синтаксис. Однако при желании можно поэкспериментировать, попробовав несколько вариантов, чтобы достигнуть желаемого результата.
      5. Настроив редирект 301, необходимо проверить, правильно ли все работает. Посетите главную страницу, пробегитесь по разделам, разным страницам, чтобы быть полностью уверенным в том, что у Вашей целевой аудитории не возникнет никаких проблем. 
      Внимание! Если Вы не уверены, что можете самостоятельно настроить редирект 301 через .htaccess, Вы всегда можете обратиться за квалифицированной помощью в нашу веб-студию Web-Sputnik.
      Понравился материал? Поделитесь с друзьям:
      0
      Поделилось
      0 комментариев к новости
      Комментарии к данной новости отсутствуют. Будьте первым, и выразите свое менение!
      Добавить комментарий
      Ваше Имя:
      Ваш E-mail:
      Ваш комментарий: