Что такое 301 редирект и как его настроить

Содержание:

Как создать страницу ошибки 404 и настроить редирект на нее в .htaccess

  1. 1.

    Создайте страницу одним из следующих способов:

    Как настроить страницу в плагине WordPress

    1) Откройте админку вашего сайта в WordPress.

    2) Перейдите в раздел «Плагины» и нажмите Добавить новый.

    3) В строке поиска введите название 404page — your smart custom 404 error page.

    4) Нажмите УстановитьАктивировать:

    5) Перейдите в раздел Внешний вид404 Error Page.

    6) Выберите в списке Sample Page, чтобы сменить стандартную страницу ошибки, и нажмите Edit Page:

    7) Создайте страницу в открывшемся визуальном редакторе и нажмите Обновить:

    Готово! После обновления страница будет использоваться автоматически.

  2. 2.

    Откройте конфигурационный файл .htaccess в корневой папке вашего сайта и добавьте в него строку:

    Где вместо site.ru — домен вашего сайта.

  3. 3.
    Сохраните изменения.

Готово! Теперь при возникновении 404 ошибки, в браузере пользователей будет открываться созданная вами кастомная страница.

Также рекомендуется закрыть служебную страницу 404 от индексации, чтобы она не возникала в поисковой выдаче вместе с остальными страницами сайта. Для этого откройте файл robots.txt в корневой папке сайта, добавьте соответствующую команду и сохраните изменения:

Как устроен редирект?

Общий алгоритм редиректа выглядит следующим образом:

1. Пользователь в браузере открывает страницу. Например, site/abc.html

2. Сайт возвращает браузеру специальный заголовок, в котором указывает какую страницу необходимо открыть вместо запрошенной. Например, site/abc2.html

3. Браузер открывает страницу, адрес которой был указан в заголовке.

В реальности же, зависит от того, как реализован редирект:

1. С помощью htaccess. Многие существующие сайты используют Apache (серверная программа для сайтов). И файл htaccess позволяет настраивать в нем сложные правила переадресации страниц. Алгоритм аналогичен общему.

2. С помощью PHP (и иные серверные языки). Тот же самый специальный заголовок может сформировать серверный язык, такой как php. Алгоритм аналогичен общему.

3. С помощью мета тега HTTP-EQUIV=REFRESH. С некоторого времени, браузеры стали поддерживать специальный мета тег в html, который позволяет перенаправлять пользователей с одной страницы на другую. Пример:

<meta http-equiv="refresh" content="5; URL=site.ru">

где «5;» — это время в секундах, через которое необходимо осуществить редирект, а URL=site.ru — это адрес страницы.

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

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

4. C помощью JavaScript. Это не совсем переадресация в полноценном смысле. Дело в том, что перенаправление на другой url происходит после того, как страница будет полностью загружена (в этом смысле схоже с мета тегом), и после выполнения специальной команды, вида:

window.location.href = "";

Отличие в том, что данная команда может быть вызвана в произвольном месте и неожиданно для браузера. Именно поэтому этот метод сложно считать полноценным редиректом.

Стоит знать, что корректными для поисковых систем считаются htaccess, php и мета тег. JavaScript далеко не всегда может корректно восприниматься, поэтому его стоит использовать только для внутренних целей (например, в ЛК пользователей).

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

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

Генератор редиректов

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

На самом деле, инструментов на этот случай великое множество (в том числе – плагины для CMS). Так как все они делают они одно и то же, приведу только один пример: 301 Redirect Code Generator

301 Redirect Code Generator – онлайн генератор кода редиректа

Пожалуй, дополнительные комментарии тут излишни: просто вводите адрес страницы-донора (опционально), страницы-акцептора, выбираете подходящий тип редиректа, жмете кнопку “Generate Code” и будет вам счастье)

Варианты написания серверного редиректа для HTTPS

Мне удалось найти семь основных вариантов, которые используют для настройки редиректа для HTTPS протокола:

Вариант 1

PHP

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

1
2

RewriteCond%{HTTPS}=off

RewriteRule(.*)https//%{HTTP_HOST}%{REQUEST_URI}

Вариант 2

PHP

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

1
2

RewriteCond%{SERVER_PORT}!^443$

RewriteRule.*https//%{SERVER_NAME}%{REQUEST_URI}

Вариант 3

PHP

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

1
2

RewriteCond%{ENVHTTPS}!on

RewriteRule^(.*)$https//%{HTTP_HOST}%{REQUEST_URI}

Вариант 4

PHP

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

1
2

RewriteCond%{HTTPX-HTTPS}!1

RewriteRule^(.*)$https//%{HTTP_HOST}/$1

Вариант 5

PHP

RewriteCond %{HTTP:CF-Visitor} ‘»scheme»:»http»‘
RewriteRule ^(.*)$ https://www.site.ru/$1

1
2

RewriteCond%{HTTPCF-Visitor}'»scheme»:»http»‘

RewriteRule^(.*)$https//www.site.ru/$1

Вариант 6

PHP

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

1
2

RewriteCond%{HTTPX-Forwarded-Protocol}!=https

RewriteRule.*https//%{SERVER_NAME}%{REQUEST_URI}

Вариант 7

PHP

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

1
2
3

RewriteCond%{HTTPX-Forwarded-Proto}!https

RewriteCond%{HTTPS}off

RewriteRule^https//%{HTTP_HOST}%{REQUEST_URI}

Вариант 8

PHP

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

1
2
3
4

RewriteEngineOn

RewriteCond%{HTTPS}off

RewriteCond%{HTTPX-Forwarded-Proto}!https

RewriteRule^(.*)$https//%{HTTP_HOST}%{REQUEST_URI}

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

Рекомендации по созданию страницы 404

Если сайт создавался в CMS WordPress, Joomla, Drupal и т. п., в нем, скорее всего, предусмотрена страница ошибки 404. Но она может быть неинформативной или отличаться от дизайна остальных страниц вашего веб-ресурса.

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

Важно, чтобы страница была информативной и полезной:

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

Настройка перенаправлений на распространённых серверах

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

У модуля mod_alias есть директивы и которые, по умолчанию, устанавливают код ответа :

<VirtualHost *:80>
	ServerName example.com
	Redirect / http://www.example.com
</VirtualHost>

URL будет перенаправлен к  (но не к  )

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

RedirectMatch ^/images/(.*)$ http://images.example.com/$1

Все документы в папке  будут перенаправляться к другому домену.

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

Redirect permanent / http://www.example.com
Redirect 301 / http://www.example.com

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

В Nginx, вы создаёте особый серверный блок для контента, который вы хотите перенаправлять:

server {
	listen 80;
	server_name example.com;
	return 301 $scheme://www.example.com$request_uri;
}

Чтобы применить перенаправления к папке или подмножеству страниц, используйте директиву :

rewrite ^/images/(.*)$ http://images.example.com/$1 redirect;
rewrite ^/images/(.*)$ http://images.example.com/$1 permanent;

В IIS, вы используете элемент  для настройки перенаправлений.

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

Редиректы играют важную роль в SEO-оптимизации (Search Engine Optimization). После создания и публикации сайта в интернете владельцу нужно позаботиться о том, чтобы на него заходило как можно больше пользователей. Повысить посещаемость можно за счёт SEO-оптимизации.

Что включает SEO-оптимизация

SEO-оптимизация — это комплекс действий с сайтом, которые улучшают его позицию в поисковых системах (самыми популярными на территории России являются Яндекс и Google).

Чтобы улучшить поисковую позицию, нужно:

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

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

Если ресурс заработал высокую позицию, за ней нужно следить, иначе сайт будет терять посетителей, а бизнес — клиентов. Но иногда возникает потребность в действиях, которые вредят SEO-оптимизации. Например, когда ресурс нужно перенести на другой домен (при ребрендинге или если вы не продлили домен, и его зарегистрировал другой человек).
Если просто привязать новый домен в панели управления, случится «SEO-катастрофа»: сайт потеряет поисковый трафик, и придется заниматься продвижением с нуля. Ситуацию исправит редирект — благодаря нему можно «связать» старый и новый домены и сохранить накопленный трафик.

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

Также без редиректа не обойтись в следующих случаях:

Наиболее известные коды редиректов

Наиболее часто применяются следующие коды редиректов:

1. 301 Moved Permanently. Данный код означает, что url адрес страницы изменен навсегда. Тот же пример с адресом «2222-11-11-11-11», вряд ли пользователь решит его вернуть.

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

3. 307 Temporary Redirect. По сути, аналогичен 302 коду, однако не позволяет изменять метод запроса (GET/POST). В виду того, что такое редко требуется, чаще применяется 302 код.

Существуют и иные коды, но они достаточно редко используются. Обычно, достаточно 301 и 302 кодов.

Синтаксис и символы

  • . — Точка означает любой символ.
  • — перечень символов, совпадающих с буквами a, b, или с.
  • — перечень символов, не входящих в диапазон. Условию соответствует любой символ, кроме a, b, с.
  • * — предыдущий символ может повторяться 0 и более раз.
  • * — найти символы из заданного набора идущие подряд.
  • * — обратная операция.
  • .* — замена любого набора символов. «.*» — найти все подстроки между кавычками.
  • ^ — обознает начало строки (при использовании в начале выражения).
  • $ — конец строки.
  • \w — буква, цифра или подчёркивание _.
  • \d — любая цифра.
  • \D — любой символ, кроме цифр.
  • — указание на любую цифру.
  • — указание на любую букву от a до z с нижним регистром.
  • — указание на любую букву от A до Z с верхним регистром.
  • — любая буква от a до Z, регистр не важен.
  • — тоже самое, только короче.

Флаги для доп. опций

  • NC — NoCase отключает проверку регистра символов при срабатывании правила.
  • R — Redirect останавливает изменение URL-адреса и возвращает результат. Самое популярное значение R=301, однако встречаются и другие для временных редиректов (302, MOVED TEMPORARY).
  • L — Last останавливает создание URL-адреса и строка считается окончательной.

Способ 6. Псевдоредирект через IFRAME или FRAMESET.

Почему псевдоредирект? Потому что по факту редиректа не происходит, а просто в фрейме грузится нужная страничка.

Даже если растянуто на всю страничку, а основная страница не содержит кода или содержит минимальный код (например, Метрика или счётчик).

Как правило, такой редирект, не детектируется рекламными сетями, которые не пропускают редиректные ссылки (например Яндекс.Директ), а в URL-строке видно только адрес оригинальной странички с кодом, а не той что грузится во фрейме.

Вариант А — через FRAMESET:

<html>
<head>
<title>Заголовок странички</title>
</head>
<frameset cols=»100%»>
<frame src=»https://leonov-do.ru/»>
<noframes>Ваш браузер не поддерживает отображение фреймов</noframes>
</frameset>
</html>

— в этом случае нельзя разместить другой код (метрику, счётчики и т.п.) на самой страничке, т.к. он все равно не выполнится

Вариант B — через IFRAME:

<html>
<head>
<title>Заголовок странички</title></head>
<body style=»margin: 0; padding: 0; overflow: hidden;»>
<iframe src=»https://yandex.ru/» height=»100%» width=»100%» frameborder=»0″ scrolling=»yes»></iframe>

Здесь можно код метрики поставить

</body>
</html>

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

Я думаю довольно подробно поведал о всех редиректах, и всем стало более менее понятно как сделать редирект.

P.S. Обратите внимание на страницу РЕКОМЕНДУЮ, где Вы найдете качественные бесплатные курсы по блоговедению и заработку в интернет.
Жду Ваших комментариев. Подписывайтесь на обновления блога. Дмитрий Леонов | leonov-do.ru

Возможные последствия для сайта

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

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

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

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

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

Точки зрения на редиректы

SEO — область знаний, которая полна мифов и гипотез. 

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

  1. 301 редирект не передает\передает санкции поисковых машин
  2. 302 редирект не передает\передает санкции поисковых машин 
  3. 302 редирект передает ссылочный вес в очень малом объеме

Куда вас отредиректили, или как не сломать все

Редиректы — это базовая механика, которую должен понимать каждый  SEO-специалист

Они имеют колоссальное влияние на оптимизацию сайта, поэтому очень важно использовать их правильно. Не злоупотребляйте HTML- и JS-перенаправлениями, используйте корректные коды ответа сервера и внимательно выбирайте страницу, на которую настраиваете редирект

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

Просмотры:
5 372

Александр Лушин

Александр Лушин — независимый SEO-эксперт. Занимается SEО и созданием сайтов с 2008 года. Специализируется на аудитах сайтов, поисковом продвижении и решениях под ключ. Руководит небольшой командой специалистов.

Полезные советы

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

Как проверить редирект с www на без www

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

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

После введения вами URL сайта(например, site.ru) и условии успешного выполнения перенаправления, вы увидите примерно следующие строки:

301 редирект (перемещено постоянно) на адрес https://www.site.ru/

Вводить в строку URL нужно именно тот адрес, с которого идет перенаправление.

Проверка должна выдать результат сразу, таким, каков он есть. Если вы не увидите числа 301, значит что-то работает неверно. Еще раз проверьте код, настройки и прочее.

Вам нужно добиться именно этот  результат.

Правильные настройки редиректов (перенаправлений)

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

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

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

Принудительный HTTPS

Следующий код сначала проверяет, поступил ли запрос на сервер по протоколу HTTP или HTTPS. Если запрос не использовал HTTPS, конфигурация проинструктирует браузер перенаправить на HTTPS-версию того же веб-сайта и URL-адреса, запрошенного ранее:

RewriteEngine On RewriteCond% {HTTPS} off RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI} R = 301, L

Принудительный HTTPS при использовании прокси-сервера

Вы можете использовать прокси-сервер, такой как балансировщик нагрузки или веб-брандмауэр, который можно настроить для использования SSL (HTTPS) во внешнем интерфейсе, но не в серверной части. Чтобы это работало правильно, вам необходимо не только проверить HTTPS в запросе, но и проверить, передал ли прокси-сервер исходный запрос HTTPS на сервер, используя только HTTP. Следующий код проверяет, был ли запрос перенаправлен по HTTPS, и если да, то не пытается перенаправить его дальше:

RewriteEngine On RewriteCond% {HTTPS} off RewriteCond% {HTTP: X-Forwarded-Proto} = http RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI} R = 301, L

Перенаправление с HTTP на HTTPS в Nginx

Если на вашем веб-сервере работает Nginx, вы можете легко перенаправить весь свой HTTP-трафик на HTTPS, добавив следующий код в файл конфигурации Nginx:

сервер {слушать 80; имя_сервера domain.com www.domain.com; возвращает 301 https: //domain.com$request_uri; }

Замените domain.com своим собственным доменом.

Принудительно без www

Следующий код в файле .htaccess проверяет, был ли запрошен сайт с www в начале имени домена. Если www находится в URL-адресе, он перезаписывает запрос и указывает браузеру перенаправить на доменное имя без www:

RewriteEngine на RewriteCond% {HTTP_HOST} ^ www . RewriteRule (. *) Http: //% {HTTP_HOST}% {REQUEST_URI} R = 301, L

Принудительно с www

Этот код в файле .htaccess проверяет, было ли запрошено имя сайта с www в начале имени домена. Если www не включен в URL-адрес, он перезаписывает запрос и сообщает браузеру перенаправить на www-версию домена:

RewriteEngine на RewriteCond% {HTTP_HOST}! ^ Ввв . RewriteRule (. *) Http: //www.% {HTTP_HOST}% {REQUEST_URI} R = 301, L

Если на вашем сайте есть редирект в файле .htaccess, что перенаправляет на URL, который не совпадает с тем, что находится в базе данных, вы можете получить ошибку в браузере о бесконечном цикле перенаправления (ERR_TOO_MANY_REDIRECTS), как описано выше.

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

Как сделать редирект через .htaccess

Чтобы сделать перенаправление 301 через .htaccess, перейдите в каталог сайта и откройте .htaccess. Если файла ещё не существует, создайте его. После этого добавьте в файл строки кода из подходящей инструкции ниже.

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

Кириллические домены (в зоне .РФ .РУС и др.) необходимо прописывать в коде в формате Punycode: Как перевести домен в Punycode.

301 редирект Битрикс

1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

Если вы хотите переадресовать домен с WWW на без WWW, укажите:

вариант 1

вариант 2

Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

Если вам нужно сделать редирект Bitrix с домена без WWW на WWW, введите комбинацию:

Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

Если вы хотите настроить в Битрикс редирект на другую страницу с http:// на https://, пропишите:

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

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

Где:

301 редирект с домена с WWW на домен без WWW

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект с домена без WWW на домен с WWW

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект для отдельного IP

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект с https:// на http://

Добавьте в .htaccess следующие строки:

Где site.ru — имя вашего домена.

301 редирект с http:// на https:// для Linux

Добавьте в .htaccess код из нужного вам примера ниже:

Для всех страниц с http:// на https://

Для всех страниц с http:// на https://, в том числе и с http://www на https://

вариант 1

Если первый вариант не поможет, воспользуйтесь вторым вариантом:

вариант 2

Если все варианты не помогли и возникает циклическая переадресация:

вариант 3

вариант 4

Перенаправление на https только выбранной страницы

В примерах ниже переадресация настраивается для страницы login.php.

вариант 1

или

вариант 2

Перенаправление на https всех страниц, кроме одной

В примере ниже редирект настраивается для страницы test.php.

301 редирект с главной страницы, кроме остальных страниц сайта

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

301 редирект с GET-параметрами

Если вам необходимо сделать .htaccess редирект с get параметрами, укажите:

Где site.ru — имя вашего домена.

301 редирект с массовой склейкой

Если вам необходимо сделать .htaccess редирект на index php, введите:

Где site.ru — имя вашего домена.

Внимание

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

Примеры использования 301 редиректа

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

Чтобы настроить его вам нужно прописать в вашем файле следующий код, который будет перенаправлять посетителей с адреса site.ru/index.php на site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ 

Если вам так же нужно сделать переадресацию с index.html, то просто в коде выше замените .php на .html

Склеиваем алиасы сайта

Если у вас несколько доменов и вы хотите все их перенаправлять на основной сайт, то используем:

RewriteCond %{HTTP_HOST} ^vash-sait.com$ 
RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ 
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://vash-sait.ru/$1 

Обратите внимание на первые 2 строки, там указано зеркало в зоне .com, если у вас иная или несколько зон, то добавляем правила

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

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

RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ http://site.ru/$1 

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

Это действие противоположное предыдущему, только основное зеркало здесь www.site.ru:

RewriteCond %{HTTP_HOST} ^site\.ru$ 
RewriteRule ^(.*)$ http://www.site.ru/$1 

301 редирект страниц со слэшем и без

Это еще один вид дублей, тут мы склеим страницы site.ru/category/ и site.ru/category, как видите, в конце второго урла не стоит слэша:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 

Если вам нужно наоборот оставить слэш в конце урла, то вам нужен данный вариант:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ 

Если у вас по какой-то причине появились урлы типа site.ru/category//article.html, то юзаем код:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Массовая замена категории

Бывает, что вы переименовали категорию, а за ней закреплены тысячи урлов. Чтобы не состарится во время написания тысяч одинаковых перенаправлений юзаем:

RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 

Если у вас категория идет сразу после домена (типа site.ru/category/), то используем другой вариант:

RewriteRule old-category /(.*) / old-category /$1 

Редирект на новую страницу

Самый простой редирект со страницы на страницу, для это просто пропишите так:

Redirect 301 /old-post.html http://new-site.ru/new-post.html

Где old-post.html — это ваша старая страница, а new-site.ru/new-post.html — это новая страница и она может быть на любом домене (включая ваш текущий домен).

Редирект для url с параметрами

Страницы с параметрами редиректятся сложнее, возьмем пример http://site.ru/page.php?sort=articles. Параметр здесь «sort=articles». Код будет следующим:

RewriteCond %{QUERY_STRING} sort=articles
RewriteRule .* http://site.ru/page.php? 

Работаем с расширениями

Убираем .html из url (для удаления .php не забудьте заменить $1.html на $1.php):

RewriteRule ^((+/)*+)$ /$1.html 

Меняем .php на .html в урлах и наоборот (не забываем поменять местами в коде):

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

Заключение

Еще раз поздравляю тех, кто дочитал до конца! К сожалению, схема с uCoz перестала работать. Честно сказать – метод не самый надежный и этого стоило ожидать рано или поздно. Тем не менее, я не зря делаю акцент на редиректе. Большинство доменов CPA-сетей под фильтром у ВК. Это значит, что при переходе по такой ссылке, пользователь увидит от ВК предупреждение вида: “Ссылка на подозрительный сайт”. Чуть позже напишу, как я делаю надежные платные редиректы. Если работаете с трафиком – не забудьте ознакомиться с моим мануалом по продвижению в ВК и другими материалами блога.

С вами был Игорь Кантор. Надеюсь, что статья оказалась для вас полезной. Подписывайтесь на мой Телеграм-канал https://t.me/casecollector – впереди еще много огненного материала! Всем профита!)

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

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

Adblock
detector