Как сделать редирект в php

Содержание:

Редирект с протокола http на https.

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

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

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Для Битрикс-сайтов на хостинге reg.ru

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

Для сертификатов https c Cloudflare:

RewriteCond %{HTTP:CF-Visitor} ‘»scheme»:»http»‘
# Without Cloudflare:
# RewriteCond %{HTTPS} off 
RewriteRule ^ https://www.example.com%{REQUEST_URI}

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine on
RewriteCond %{HTTP:HTTPS}  !on
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Виды перенаправлений

Браузеры и роботы поисковых систем определяют вид редиректа по коду состояния HTTP. Перенаправления могут иметь разный HTTP-статус: 301, 302, 303, 307. Давайте рассмотрим каждый вид подробнее.

Редирект 301

Это самый распространённый вид перенаправления. Его можно сравнить с постоянным переездом — когда вы уезжаете из одного дома в другой и точно не вернётесь назад.

Получается, что HTTP-статус 301 (Moved Permanently) означает, что веб-страница навсегда перемещена с запрошенного URL на новый. После получения ответа 301 браузер делает новый запрос и быстро перенаправляет пользователя на актуальную страницу.

Поисковые системы хорошо реагируют на 301-й редирект, да и сложностей обычно не возникает

Но важно всё правильно настроить, чтобы пользователь при переходе не получил ошибку 404. 

Редирект 302

Этот редирект 302 (Moved Temporarily) можно назвать «временным». Возвращаясь к предыдущему примеру с переездом в новый дом, этот вид можно сравнить, например, поездкой на дачу на летние каникулы — ваша квартира в городе никуда не денется, и вы сможете вернуться туда в любой момент. 

Важно — редирект 302 не передаёт авторитет и ссылочный вес донора акцептору. Для поисковых систем это означает полное дублирование страниц, а потому одна из них (чаще всего старая) будет исключена из выдачи (кстати, как и в случае с 301)

Редиректы 303 и 307

307-й (Temporary Redirect) для поисковых систем фактически точная реплика (копия) 303-го (Found) редиректа. Это временное перенаправление трафика на новую страницу с сохранением всех параметров прежней.

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

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

Переадресация 301 с http на https

При помощи 301-го редиректа мы получаем два результата:

  • Сообщаем поисковым системам что «http://elims.org.ua» и «https://elims.org.ua» — это одна и та же страница. А точнее говорим что мы переместили страницу с  «http://elims.org.ua» на «https://elims.org.ua» и просим перенести весь ссылочный вес и прочие «заслуги».
  • Всех посетителей http-версии страницы автоматически переадресовываем на https-версию страницы.

301-ю переадресацию с http на https можно реализовать тремя способами, через:

  • файл .htaccess
  • php-код
  • плагин

301 редирект с http на https через .htaccess

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yoursite.com/$1 
</IfModule>

Или еще один код:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com 
RewriteCond %{HTTP_HOST} ^www.yoursite.com 
RewriteRule ^(.*)$ https://www.yoursite.com/$1 
</IfModule>

Не всегда такая переадресация работает, у меня например по началу выбивало ошибку «ERR_TOO_MANY_REDIRECTS» — «На этой странице обнаружена циклическая переадресация».

Но после в справочной информации своего хостинга ukraine нашел код, который заработал и позволил отказаться от плагина.

Рабочая версия код для моего wordpress в режиме мультиблога:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - 
#for SSL
RewriteCond %{HTTP:SSL} !=1 
RewriteRule ^(.*) https://elims.org.ua/$1 

301 редирект с http на https через php-код

Все просто — открываем файл в шаблоне functions.php и прописываем следующий код:

function force_https () {
 if ( !is_ssl() ) {
  wp_redirect('https://' . $_SERVER . $_SERVER, 301 );
  exit();
 }
}
add_action ( 'template_redirect', 'force_https', 1 );

или еще один вариант, предложенный читателем — именно такой вариант для читателя был рабочим:

<?php
 add_action ( 'template_redirect', 'force_https', 1 );
 function force_https () {
  if ( !is_ssl() ) {
   wp_redirect('https://' . $_SERVER . $_SERVER, 301 );
   exit();
  }
 }
?>

301 редирект с http на https через wordpress плагин

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

Упомяну три плагина:

  • WordPress HTTPS (SSL): можно активировать принудительный вход в админку через https, настраивать https только для определенных страничек\записей, либо для определенных адресов по регулярным выражениям, удалять со страницы весь не https-контент, изменять исходящие ссылки с http на https версии сайтов и пр. Этот плагин заработал не на всех шаблонах.
  • Easy HTTPS Redirection: можно настроить переадресацию для всех страниц или только для определенных. По сути плагин добавляет в файл .htaccess код для редиректа. Но, как я писал выше, этот метод у меня вызывает ошибки «ERR_TOO_MANY_REDIRECTS» — «На этой странице обнаружена циклическая переадресация». При этом после деактивации плагина пришлось вручную удалять его код из файла .htaccess.
  • WordPress Force HTTPS — простой плагин, ничего лишнего. Переадресация реализована через php-код. Именно на нем я остановился.

Рекомендую через некоторое время убедится что поисковики не включают в индекс дубли страниц (http и https версий). Для это возьмите несколько адресов своих страниц и вбейте в гугле запрос подобный моему:

site:elims.org.ua inurl:elims.org.ua/blog/xosting-ukraine-obzor-i-otzyv/

На моем примере я увижу какие версии страницы «elims.org.ua/blog/xosting-ukraine-obzor-i-otzyv/» есть в поисковом индексе. Должна быть лишь одна версия — с https.

Виды редиректов

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

300 Multiple Choice (множественный выбор) — это редирект, который сообщает, что по искомому запросу можно перейти не на одну, а на несколько страниц. С его помощью можно настроить перенаправление с основного URL на несколько других страниц, которые похожи по тематике, но отличаются по содержанию. Нередко редирект такого типа встречается на страницах «Википедии». Если какое-то слово или термин имеет несколько значений, вместо одной страницы с определением Википедия выдает страницу со ссылками на объяснение каждого варианта. В зависимости от искомого значения пользователь переходит по нужной ссылке.

301 Moved Permanently (навсегда перемещен) — это постоянный редирект. Используйте этот вид редиректа, если хотите переместить страницу на новый адрес насовсем

В этом случае вы сообщите поисковым системам, что стоит обратить внимание на новую страницу, а исходную можно полностью исключить из индексации. Если настроить редирект 301 некорректно, на странице будет отображаться ошибка 404

Индексация страниц с ошибками приводит к снижению SEO-показателей всего сайта.

302 Moved Temporarily (временно перемещен) — это временный редирект. Редирект 302 настраивают в том случае, когда на основной странице временно ведутся те или иные работы. Все файлы копируют и размещают по другому адресу на определенный период. При переходе на страницу с таким редиректом поисковые роботы сразу поймут, что она перенаправлена на другой ресурс только временно. Поэтому при следующем переобходе они вновь попробуют проиндексировать исходную страницу. И так пока контент не «вернётся» на исходную страницу.

305 Use Proxy (использовать прокси) — этот редирект отсылает браузер к использованию прокси-сервера. В этом случае при обращении браузера к странице в ответ приходит адрес прокси-сервера. Это значит, что к ресурсу можно подключиться только с помощью прокси — промежуточного сервера, который является посредником между пользователем и сервером, на котором хранятся файлы сайта. Прокси-подключение настраивают для защиты локальной сети от внешних подключений, экономии трафика (передачи данных в сжатом виде), и другого.

307 Temporary Redirect — временный редирект. Он сообщает поисковому роботу, что страница временно перенесена на другой URL и через некоторое время вновь будет доступна по старому адресу. Этот редирект похож на 302 Moved Temporarily, однако у него есть существенное отличие — 307 редирект сохраняет метод передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не нужно. Его используют для краткосрочного переезда, например небольших технических работ. Стоит отметить, что иногда проще на пару часов закрыть сайт на технические работы без редиректа.

Редирект rel=«canonical» — этот редирект предназначен только для поисковых роботов, посетитель при этом видит два дублирующихся ресурса одновременно. С его помощью владелец ресурса сообщает роботам, что у сайта есть несколько версий и они должны просканировать только приоритетную копию, которую владелец пометил как «canonical». Остальные страницы тоже доступны пользователям, но они не индексируются.

Также существуют 304-й и 306-й редиректы. Однако сейчас эти виды практически никто не использует. Некоторые браузеры даже не умеют интерпретировать код таких перенаправлений.

Самые популярные виды редиректов — 301 и 302. При этом чаще всего для переадресации url используют 301-й редирект. Для его настройки используют разные способы.

Принцип работы

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

Есть несколько типов перенаправлений и делятся на три категории: постоянные, временные и специальные перенаправления.

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

Код Текст Обработка метода Случаи использования
методы неизменны.
Другие методы могут быть превращены в .
Реорганизация веб-сайта.
Метод и тело запроса  неизменны. Реорганизация веб-сайта, с не-GET ссылками/операциями.

Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код  был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.

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

Код Текст Обработка метода Случаи использования
методы неизменны.
Другие методы могут  быть превращены в .
Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.
методы неизменны.
Другие превращены в  (тело запроса теряется).
Используется для перенаправления после или для предотвращения обновления страницы, что может спровоцировать повторный вызов операции.
Метод и тело запроса  неизменны. Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки. Лучше чем код  когда не-GET ссылки/операции доступны на сайте.

Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код  был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.

В добавок к обычным перенаправлениям, есть 2 специальные.  Перенаправление с кодом (Not Modified) перенаправляет страницу к локальной закешированной копии (которая была устаревшей), и перенаправление с кодом (Multiple Choice) это ручное перенаправление: тело, представленное браузером, как веб-страница, перечисляет возможные перенаправления и пользователь выбирает одно из них.

Код Текст Случаи использования
Не так много: варианты перечислены на HTML странице. Может быть обслужен со статусом .
Обновление кеша: означает, что значение кеша все ещё актуально и может быть использовано.

Как проверить через Netpeak Spider:

  1. Запустите Netpeak Spider.
  2. На боковой панели откройте вкладку «Параметры» и отметьте пункт «Код ответа сервера».
  3. Введите URL анализируемого сайта в адресную строку и запустите сканирование кнопкой «Старт».
  4. По завершению сканирования ознакомьтесь с результатами: в основной таблице вы сможете увидеть коды ответа, а на вкладке «Отчёты» → «Ошибки» на боковой панели отобразятся все, имеющиеся на сайте, ошибки, связанные с переадресацией.
  5. Если вам нужен список всех существующих на сайте редиректов, перейдите на вкладку «Отчёты» → «Сводка» и кликните по названию соответствующего типа страниц.
  6. Чтобы посмотреть источники, на которых поставлены ссылки с редиректами, воспользуйтесь сочетанием клавиш Shift + F1.
  7. Для экспорта полученных данных кликните по кнопке «Экспорт» в правом верхнем углу экрана, затем выберите одну из опций: «Результаты в текущей таблице» — чтобы выгрузить отфильтрованные результаты, либо один из специальных отчётов по редиректам.
  8. В программе также доступен отчёт, показывающий страницы, которые содержат ссылки на страницы с редиректом и конечным URL редиректа. Для выгрузки отчёта перейдите в меню «Экспорт» → «Специальные отчёты по ошибкам» → «Редиректы: входящие ссылки и конечные URL».

Зачем настраивать редирект

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

Для указания главной версии сайта

Возможно, вы замечали, что адрес одних сайтов начинается с https, а других — с http. Также иногда в адресе указан префикс www, а иногда его нет. Выбор протокола и решение использования www перед основным доменом определяют главное зеркало ресурса. Это основная версия сайта, на которую перенаправляют всех пользователей, если они вводят в строку поиска альтернативный вариант URL-адреса.

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

Для решения проблемы дублей

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

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

Перенаправление при добавлении завершающего слеша

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

Ниже мы адаптировали схему, которой аналитик Google Джон Мюллер поделился в своем аккаунте Twitter.  

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

Решить проблему можно двумя способами: использовать тег canonical либо установить перенаправление на нужный вам вариант страницы.

Перенаправление при использовании расширения файлов в URL

Иногда в конце адреса страницы указывается расширение файла, например, .html, .htm, .php, .aspx. Чтобы пользователь, вбивая в строку поиска URL вида https://site.com/page/, все равно попал на страницу https://site.com/page.html и чтобы избежать дублирования контента, используется перенаправление.

Перенаправление URL-адреса в нижний регистр

Один и тот же URL-адрес, прописанный в верхнем и нижнем регистре, — это две разные страницы. Правило хорошего тона — использовать в URL нижний регистр. Поэтому чтобы адрес вида https://site.com/PAGE/ был доступен только как https://site.com/page/, также применяется перенаправление. Естественно, редирект здесь нужен и для того, чтобы предотвратить проблемы с дублями. 

Для сохранения ссылочного веса и трафика при смене URL

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

Например, вы использовали страницу https://site.com/festivals-2020/, но в конце года решили обновлять контент страницы и публиковать на ней все фестивали следующего года. Чтобы убрать из URL-а прошлый год, вы решаете создать новую страницу https://site.com/festivals/. Эта страница будет постоянно обновляться и содержать контент, который ранее публиковался на странице https://site.com/festivals-2020/. Чтобы избежать каннибализации, вы принимаете решение удалить старую страницу https://site.com/festivals-2020/ и перенаправить трафик и ссылочный вес на новую страницу https://site.com/festivals/.

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

Что такое редирект простыми словами

Редирект (англ. «Redirect») — это автоматическое перенаправление пользователей с одной страницы сайта на другую, причём как в пределах одного проекта, так и на внешние. Для поисковых систем редирект применяется для склейки адресов страниц.

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

  • 300 редирект — множественный выбор;
  • 301 редирект — перемещен навсегда;
  • 302 редирект — документ найден;
  • 303 редирект — смотри другое;
  • 304 редирект — документ не изменился;
  • 305 редирект — используй прокси;
  • 306 редирект — не используется;
  • 307 редирект — временный редирект;

Лидером использования является 301 редирект. Он используется, когда адрес страницы сайта изменился навсегда. Как показывает практика — это наиболее часто встречающаяся ситуация. Во всех примерах ниже, как раз будет именно он.

Существует несколько способов сделать редирект. У каждого есть свои плюсы и минусы. Ниже мы рассмотрим каждый из них в отдельности с примерами.

Как проверить редирект страницы?

Самый очевидный способ — самостоятельно проверить перенаправление в браузере. Перед проверкой не забудьте очистить кэш. Также можно зайти в браузер в режиме инкогнито и проверить работу страницы.

Ещё можно использовать и специальные сервисы, которые помогут избежать этих «заморочек», например:

  • Redirect Checker
  • PrCy

⌘⌘⌘

Настройка редиректа — важный навык для веб-мастера. Надеемся, что наша статья окажется полезной всем, кто впервые столкнулся с этой темой. Ну а для тех, кто не хочет погружаться в этот вопрос, есть специальные услуги, такие как «Переадресация домена» от REG.RU.  ;). 

Настраиваем редиректы для SEO

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

При настройке 301 редиректов помните о двух правилах:

  1. Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
  2. Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 100% случаев, поэтому с размещением директив нужно экспериментировать.

1. Настраиваем постраничные 301 редиректы

Это потребуется в следующих случаях:

  • изменилась структура сайта и у страницы поменялся уровень вложенности;
  • страница перестала существовать, но нужно сохранить ее входящий трафик (например, в случае отсутствия товара обычно делают переадресацию на товарную категорию);
  • поменялся URL, что крайне нежелательно, но тоже встречается.

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

  • — адрес страницы от корня, без протокола и домена. Например, .
  • — полный адрес страницы перенаправления, включая протокол и домен. Например, .

2. Избавляемся от дублей

Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:

  • редирект на страницы со слешем в конце URL или наоборот;
  • главное зеркало — основной адрес сайта в поиске.

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

Переадресация на слеш или наоборот

Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.

Код 301 редиректа на страницы без слеша:

3. Настраиваем главное зеркало

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

Редирект на HTTPS

Определять, с «www» или без будет главное зеркало, можно несколькими способами:

  • добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
  • проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
  • для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.

После того как выбор сделан, воспользуйтесь одним из двух вариантов кода.

Редирект с без www на www

4. Перенаправляем с одного домена на другой

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

Воспользуйтесь одним из вариантов кода:

или

Не забудьте поменять в коде «mysite1» и «mysite2» на старый и новый домен соответственно.

301 редирект с помощью плагина Clearfy Pro

Плагин Clearfy Pro является платным и позволяет выполнять множество различных полезных правок, среди которых есть и возможность выполнить 301 редирект. Для этого нужно:

Шаг 1. Купить и установить плагин.

Шаг 2. Перейти в настройки плагина, в раздел «Redirect»

Шаг 3. Указать страницы. В соответствующих полях необходимо указать правила редиректа. В левом поле — относительная ссылка на страницу с которой делается редирект, а в правом — относительная ссылка на страницу, куда делается перенаправление, после чего нажать на кнопку «сохранить изменения».

Шаг 4. Проверка. Выполните проверку, воспользовавшись одним из методов описанных выше.

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

Редирект – это перенаправление пользователя с одного интернет-адреса (URL) на другой. Поясню на примере: вбиваете в адресной строке своего браузера https://casecollector.ru, а попадаете на https://casecollector.ru. Заметили разницу?

А вот пример уже по-жестче: вводите https://prtglp.ru/affiliate/10685064. В результате открылась https://q-sender.ru/qsultra. Что тут происходит?! Это вообще законно?)

Еще, наверняка, многие видели ссылки вида bit.ly (например, вот такая: https://bit.ly/1oJrmXs – откроется википедия) или vk.cc. Это – так называемые, “сокращатели ссылок”. Они делают длинные некрасивые ссылки короткими.

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

Важно понимать, что без редиректа многие необходимые вещи в сети были бы невозможны

Другой пример, когда, по какой-либо причине, меняется название доменного имени (ребрендинг, санкции к старому имени, смена владельца и др.) было бы весьма неплохо сохранить позиции сайта в поиске, тем более, что вся наработанная клиентская база будет искать ресурс по старому имени. Это уже к вопросу, как сделать редирект на другой сайт. То же касается перехода сайта на HTTPS (см. первый пример).

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

Способ 3. Простейший javascript-редирект.

Разница этого редиректа в том — что сначала в браузер загружается страничка HTML — потом после её загрузки происходит редирект. Может ощущаться некоторая задержка с появлением «белого экрана» в момент редиректа — в этом небольшой минус перед header-редиректом. Не сработает на компьютерах/браузерах, где отключен javascript. Соответственно REFERER виден именно тот, где был код редиректа (т.е. сама страничка с кодом будет как источник перехода).

Оформляется так (в секции <body> или <head>):

<script >
document.location = ‘//leonov-do.ru/’;
</script>

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

Обеспечиваем безопасность сайта

Файл .htaccess предоставляет большие возможности для защиты сайта от вредоносных скриптов, кражи контента, DOS-атак. Также можно защитить доступ к определенным файлам и разделам.

5. Запрещаем загрузку картинок с вашего сайта

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

Осадите воришек при помощи этого кода:

Заменяете «mysite.com» на адрес вашего сайта и создаете изображение с любым сообщением о том, что красть чужие картинки нехорошо, по адресу . Это изображение и будет показано на стороннем ресурсе.

6. Запрещаем доступ

Целым группам нежелательных гостей с определенных IP-адресов, подсетей, а также вредоносным ботам можно запретить доступ на ваш ресурс при помощи следующих директив в .htaccess.

Для нежелательных User Agents (ботов)

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

Частный случай такого запрета — запрет для поисковых роботов. Если вас почему-то не устраивает правило в robots.txt, можно запретить доступ, например, роботу Google при помощи таких директив:

Для подсети

Вписываем маску сети в строку после «deny from».

Спамные IP-адреса можно вычислить в логах сервера или с помощью сервисов статистики. В административной панели WordPress отображаются IP-адреса комментаторов:

К определенному файлу

Вписываем название файла вместо «myfile.html» в примере. Пользователю будет показана ошибка 403 — «доступ запрещен».

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

Для сайтов на WordPress важно ограничить доступ к файлу wp-config.php, т.к. в нем содержится информация о базе данных:

Для пользователей, пришедших с определенного сайта

Вы можете заблокировать посетителей с нежелательных ресурсов (например, со взрослым или шокирующим контентом).

7. Защищаем доступ к определенному файлу или папке

Для начала создайте файл .htpasswd, пропишите в нем логины и пароли в формате user:password и разместите в корне сайта. В целях безопасности пароли лучше зашифровать. Это можно сделать при помощи специальных сервисов генерации записей, например, такого. Следующим шагом добавьте директории или файлы в .htaccess:

Защита паролем папки

Вместо «/pub/home/.htpasswd» укажите путь до файла .htpasswd от корня сервера. Рекомендуем проверить доступ после установки кода.

8. Запрещаем выполнение вредоносных скриптов

Следующая группа директив защищает сайт от так называемых «скриптовых инъекций» — инструмента хакерских атак:

Все попытки причинить вред вашему ресурсу будут перенаправлены на страницу ошибки 403 «доступ запрещен».

9. Защищаем сайт от DOS-атак

Один из способов защиты — ограничить максимально допустимый размер запроса (ограничение отсутствует по умолчанию).

Для этого прописываем в .htaccess размер загружаемых файлов в байтах:

В примере указан размер 10 Мбайт. Если вы хотите запретить загрузку файлов, пропишите число меньше 1 Мбайт (1048576 байт).

Также можно изучить возможности директив LimitRequestFields, LimitRequestFieldSize и LimitRequestLine в официальной документации.

WordPress: редирект на другой сайт в .htaccess

.htaccess — конфигурационный файл для веб-сервера Apache (используются на хостинге REG.RU). Файл .htaccess располагается в корневой папке сайта. С помощью него можно:

Обратите внимание!

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

  1. 1.
    Откройте корневую папку сайта. Ее расположение вы можете определить .
  2. 2.

    Откройте файл .htaccess:

  3. 3.

    Добавьте код:

    old_site.ru замените на исходный адрес, new_site.ru — на целевой, который должен открываться вместо исходного.

    WP redirect в .htaccess

  4. 4.
    Нажмите Сохранить → ОК.

Готово! Теперь при переходе на любую страницу исходного сайта пользователи будут попадать на новый.
Если вас интересуют другие разновидности редиректов (например, перенаправление с домена с/без www, отдельных страниц, переадресация с HTTP на HTTPS,), воспользуйтесь .

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

Кроме непосредственной настройки редиректов, мы рекомендуем пользоваться Яндекс.Вебмастер и Google Search Console. Эти инструменты предназначены для того, чтобы работать с поисковыми системами и отслеживать основные SEO-показатели сайта.

Помогла ли вам статья?

1
раз уже помогла

Редирект через .htaccess

Напомню, что .htaccess — это специальный файл, который лежит в корневой папке вашего сайта. В нём есть возможность прописать все необходимые редиректы. Таким образом, уже на уровне веб-сервера происходит переход на нужную страницу без загрузки промежуточных.

В общем виде редирект через файл .htaccess выглядит так:

Где:

  • КОД_РЕДИРЕКТА — номер редиректа (можно не указывать, по умолчанию стоит 301);
  • /АДРЕС_ОТКУДА — страница, с которой будет осуществлен переход. Обязательно должна начинаться со слэша «/»;
  • АДРЕС_КУДА — полный адрес (URL) куда будет осуществлена переадресация;

Ниже мы рассмотрим несколько примеров. Советую также ознакомиться с полным руководством редиректа с помощью .htaccess.

1) Редирект с www и без www

301 редирект с сайта без www на вариант с www.

В данном случае будет автоматически переход с любой страница site.ru на www.site.ru соотвественно. Например

Для обратного редиректа с www на без www (www.site.ru -> site.ru) необходимо прописать следующий код:

Есть и ещё варианты реализации этих перенаправлений, которые можно посмотреть в отдельной статье редирект 301 с www на без www.

2) Переадресация пользователя на другой домен

3) Переадресация пользователя со страницы на другой адрес

4) Редирект при смене домена сайта (URL)

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

Например, если вы введёте в адресной строке: olddomen.ru/cat/1, то благодаря первым двум строчкам произойдёт 301 редирект на newdomen.ru/cat/1. Ниже приведён такой же случай, но в случае если адрес сайта будет написан с www: www.domen.ru/cat/1. Возможно, вы сочтете это не обязательным, но поверьте, что третья и четвертые строчки кода также важны как для пользователей, так и для seo оптимизации, чтобы убрать дубли.

5) Редирект с http://site/yyyy/mm/dd/post/ на http://site/post/

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

Например, с адреса http://site/2014/11/24/primerposta/ будет 301 редирект на http://site/primerposta/.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector