Что такое редирект? виды и примеры редиректов через .htaccess
Содержание:
Настраиваем редиректы для SEO
Как мы уже упоминали, это самый популярный способ использования .htaccess. Перед тем, как настраивать тот или иной вид переадресации, убедитесь, что это действительно необходимо. Например, редирект на страницы со слешем в некоторых CMS настроен по умолчанию. О настройках редиректа для SEO мы писали в блоге.
При настройке 301 редиректов помните о двух правилах:
- Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
- Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 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 редирект — способ классический
Одной из самых простых конструкций создания 301 редиректа является использование файла HTACCESS.
Главным условием срабатывания команды является обязательное его местонахождение в корневой папке сайта. В этом же месте обычно располагается файл index.php.

В случае отсутствия такого файла его придется создать, обратив особое внимание на формат. Имя файла должно быть таким .HTACCESS (точку добавить нужно обязательно)
После проверки наличия такого файла можно приступать к созданию функции 301 редирект htaccess.
Конструкция будет выглядеть следующим образом: RedirectPermanent 301 old_url new_url.
Расшифровывается данная комбинация так:
- RedirectPermanent 301 основная команда для редиректа;
- old_url – это соответственно старый адрес страницы, при обращении к которой должна происходить переадресация;
- new_url – новый ресурс, где располагается контент, ранее находившийся по старому адресу.
Аналогом такой команды является скрипт RedirectMATCH. Его целесообразно использовать в случае смены cms сайта.
Прописать нужно будет примерно следующее:
RedirectMATCH(/*)php$/$1.aspx. |
Стоит отметить, что использование такой команды обуславливается техническими возможностями месторасположения содержимого сайта (сервера или хоста).
В случае использования модуля apache способ редиректа через HTACCESS является наиболее удобным. Но все равно придется включить дополнительные модули mod_alias/rewrite. Включить их можно все в том же php.ini файле.
Главным недостатком такой команды является узкая направленность редиректа. Он рассчитан на переадресацию с главной страницы сайта.
Но что делать, если в поисковике были проиндексированы почти все страницы и посетитель обращается к другим страницам?
Естественно, перебрасывания не произойдет и перед соискателем появится ошибка 404. Чтобы довести скрипт перенаправления до ума придется прописывать редирект для всех возможных комбинаций адресов страниц старого сайта, проиндексированного поисковыми системами.
Проще говоря, для каждого адреса придется прописывать индивидуальный скрипт.
Для многих владельцев сайтов, перед которыми встает задача по установке редиректа, часто пренебрегают еще одним видом настройки – по HTML.

В пользовательской среде он считается не самым хорошим и потому используется редко. Больше всего это связано поведением поисковых машин при прохождении такого сайта.
Тем не менее, право на существование этот способ имеет, так как, поняв его суть можно пойти дальше, к более сложным и качественным решениям вопросов.
Итак, пример скрипта (мета-тега, располагающегося в коде шапки сайта):
<meta http-equiv=”refresh” content=”; url= http//www.newdomain.ru/newdir/newpage.htm"> |
Значение поля content будет отвечать за продолжительность задержки (в секундах) до переадресации. Соответственно в конец скрипта вписывается ссылка, куда необходимо перебросить пользователя.
Вся работа осуществляется в текстовом редакторе (блокноте). Полученный файл потом необходимо будет закачать в соответствующую область сайта.
Определение 301 редиректа
Код 301 статуса HTTP означает, что ресурс перемещен навсегда, такая страница не видна пользователям. Поисковые роботы первым делом получают заголовок сервера, определяют 301 редирект, переходят на новый адрес и больше не обращаются к старому.
В итоге страницы по старому адресу исключаются из поиска, а новые при переиндексации включаются в поисковую базу.
Редирект 301 чаще всего используется вебмастерами, как наиболее дружелюбный в плане поисковой оптимизации. Например, я рассказывал о склейке доменов — здесь тоже используется 301 ответ сервера. У WordPress есть встроенная функция перенаправления, определяемая основной адрес ресурса:

Это начальная настройка и уже на этапе создания сайта будет определяться предпочтительный домен, а вводя в адресную строку браузера один из вариантов домена пользователь будет перемещен на основной.
12 советов, которые помогут избежать ошибок при простановке редиректов
- Не используйте иные статус-коды ответа сервера там, где нужен 301 редирект. Это правило касается и настройки https, и зеркал сайта с www и прочего.
Часто встречающаяся ошибка — настройка 302 (временного) редиректа, вместо 301. Роботы поисковых систем получают инструкцию, что страницы перемещены временно, хотя это не так. В дальнейшем поисковик может посчитать это обманом и пессимизировать ресурс.
Страница-акцептор редиректа обязательно должна быть релевантной странице донору и отвечать статус-кодом 200.
Донор не передаст вес нерелевантному акцептору с некорректным статус-кодом. Правильная настройка позволит поисковым системам быстро склеить страницы без потери трафика для ресурса.
Не используйте редиректы вместо rel=canonical.
В ряде случаев борьбы с дубликатами логичнее использовать rel=canonical. Например:
- на страницах пагинации, если CMS сайта не позволяет убрать текст основной страницы;
- для страниц, которым необходимо иметь разные версии: основная, для печати, отдельная мобильная;
- страницы с динамическими параметрами;
- когда одна страница опубликована в разных категориях, в результате чего получаются разные URL.
Не ставьте два, три и более редиректов подряд.
Это увеличивает нагрузку на сервер, замедляет процесс использования сайта и может привести к потере веса конечной страницы.
В файле .htaccess вначале используйте переадресации страниц с более высоким уровнем вложенности.
Пример:
- Сначала редирект с site.com/cat-1/subcat-1/ на site.com/cat-1/subcat-2/;
- Потом с site.com/cat-0/ на site.com/cat-0.
- И в последнюю очередь — глобальные правила (например, со страниц без слеша на слеш, или с www на без www).
Это поможет уменьшить количество потенциальных ошибок при обработке статус-кодов страниц.
Обязательно проверяйте результат своей работы. При настройке редиректов часто допускаются мелкие ошибки и опечатки, что в конечном итоге приводит к нарушению работоспособности сайта. Например, при возникновении циклического редиректа.
Проверять корректность настроек нужно со сбросом кэша, так как браузеры кэшируют редиректы.
Не перенаправляйте пользователя или робота поисковой системы на несуществующие ресурсы (404 код ответа). Регулярно проверяйте сайт на наличие «битых ссылок».
Не стоит использовать 301 редирект для перенаправления на шаблон оформления 404 страницы. Сразу правильно настраивайте статус-коды и обработку несуществующих урлов в частности.
Правильная настройка статус-кодов поможет роботам поисковых систем быстрее индексировать и переиндексировать страницы сайта, не добавляя в выдачу ненужные страницы.
Нельзя редиректить на дорвеи.
Здесь всё понятно. Это относится к серым методам оптимизации и пресекается поисковыми системами как спам.
Не создавайте переадресацию для страниц с несколькими URL, принадлежащих к разным каталогам.
В этом случае будет логично использовать rel=canonical.
WordPress: редирект на другой сайт в .htaccess
.htaccess — конфигурационный файл для веб-сервера Apache (используются на хостинге REG.RU). Файл .htaccess располагается в корневой папке сайта. С помощью него можно:
Обратите внимание!
Редактируйте файл внимательно. Некорректные команды или кодировка могут привести к проблемам в работе всего сайта.
-
1.
Откройте корневую папку сайта. Ее расположение вы можете определить . -
2.
Откройте файл .htaccess:
-
3.
Добавьте код:
old_site.ru замените на исходный адрес, new_site.ru — на целевой, который должен открываться вместо исходного.
WP redirect в .htaccess
-
4.
Нажмите Сохранить → ОК.
Готово! Теперь при переходе на любую страницу исходного сайта пользователи будут попадать на новый.
Если вас интересуют другие разновидности редиректов (например, перенаправление с домена с/без www, отдельных страниц, переадресация с HTTP на HTTPS,), воспользуйтесь .
Мы рассмотрели настройку редиректов с помощью плагина и конфигурационного файла. Не забывайте о перенаправлениях при любых значимых действиях с URL-адресами вашего сайта. Если не сделать этого, вы потеряете посетителей сайта и позицию в поисковой выдаче.
Кроме непосредственной настройки редиректов, мы рекомендуем пользоваться Яндекс.Вебмастер и Google Search Console. Эти инструменты предназначены для того, чтобы работать с поисковыми системами и отслеживать основные SEO-показатели сайта.
Помогла ли вам статья?
1
раз уже помогла
Что такое 301 редирект и зачем он нужен?
301 редирект призван помочь вебмастерам переадресовать пользователей с одного URL, который изначально был в адресной строке браузера, на совершенно иной. С точки зрения поисковой оптимизации, 301 Moved Permanently — это постоянный редирект, который помогает переместить до 99% ссылочного веса на новый URL, а старый «пометить» в качестве устаревшего. То есть благодаря этому удастся сохранить позиции в поисковых системах, а если просто изменить адрес URL, не делаля редирект, то для Яндекса и Гугла это будет новой страницей, которая будет ранжироваться без связки с предыдущей историей.
Есть несколько вариантов, когда нужно воспользоваться этим редиректом:
- при совершении склейки доменов;
- для переезда сайта на новый адрес, например, в случае снижения трафика вследствие попадания вашего ресурса под фильтры поисковиков. 301 редирект не позволит тем, кто добавил ваш сайт в закладки, потерять его из виду;
- чтобы увеличить показатели тИЦ, PR, трафик из ПС на основном сайте. В этом случае понадобится приобрести домен, который обладает неплохими показателями и настроить редирект на тот ресурс, который нуждается в улучшении данных параметров;
- при смене адреса конкретной страницы для сохранения высоких позиций в ПС (например, это может быть актуально при переезде сайта из одной CMS в другую);
- при переходе на протокол https;
- и др.
Есть ли какой-нибудь аналог .htaccess в nginx?
Ещё один довольно частый вопрос. В этом веб-сервера такой возможности нет. Однако, подобное обычно и не требуется. Дело в том, что nginx, как правило, устанавливается в качестве фронденда, т. е. принимает и обрабатывает все запросы, которые либо выполняет сам, либо перенаправляет на бэкенд, роль которого может выполнять Apache, который можно дополнительно конфигурировать с помощью .htaccess.
Поддержка сайта
С удовольствием создаю годный контент. Буду очень признателен, если вы поддержите мои усилия:
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости
продлением хостинга на +1 месяц
2 070
не в сети 3 месяца
Типы и настройка редиректов
Типы редиректов принято разделять по тому, как они реализованы. Самый популярный у SEO-специалистов метод — серверный редирект, который настраивается в файле .htaccess (конфигурационный файл наиболее распространённого сервера Apache). Кроме того, для реализации перенаправлений можно использовать файл nginx.config, а также PHP, HTML, JavaScript.
Редиректы могут иметь разный HTTP-статус. По коду состояния HTTP поисковые системы и браузеры определяют, к какому виду относится редирект. Всего есть 9 видов таких редиректов, но на практике используются три статус-кода.
2.1. 301 Moved Permanently
301 редирект — это постоянный редирект, который демонстрирует, что документ перенесён на новый URL-адрес. 301 редирект лучший вариант для оптимизации сайта под поисковые системы. Он позволяет заменить адрес документа в выдаче со старого на новый без потери позиций и трафика.
Я собрал общие случаи использования 301 редиректа.
2.1.1. Редиректы www
Вот как настроить редирект из домена с www на домен без www:
RewriteCond %{HTTP_HOST} ^www\.bacon\.com$
RewriteRule ^(.*)$ http://bacon.com/$1
А вот так можно настроить редирект URL без www в URL с www:
RewriteCond %{HTTP_HOST} ^bacon\.com$
RewriteRule ^(.*)$ http://www.bacon.com/$1
2.1.2. Изменение расширения файла
Если вы перешли на другую платформу или CMS, и в этом процессе были изменены только URL-адреса, вы должны использовать следующую переадресацию.
RedirectMatch 301 (.*)\.php$ http://www.bacon.com$1.html
2.1.3. Редирект с разных доменов и поддоменов
Если вы купили несколько доменов в разных доменных зонах или перепроектировали новый сайт в поддомене, вы должны установить редирект со всех дополнительных доменов или поддоменов на основной домен:
RewriteCond%{HTTP_HOST}!^www\.site\.com.(.*)$
RewriteRule ^(.*)$ http://www.site.com. %1/$1
2.1.4. Слеши в конце URL-адреса
Вы должны помнить, что поисковые системы рассматривают URL-адреса с и без слеша (https://www.bacon.com/sandwich/ и https://www.bacon.com/sandwich) как два разных URL-адреса. Определите, какой из них более подходит для вашего сайта, и настройте следующие переадресации.
Чтобы удалить слеш в конце URL-адреса:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1
Чтобы добавить слеш в конце URL-адреса:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1/
2.1.5. Переключение с HTTP на HTTPS
Вам необходимо установить команду для 301 редиректа на HTTPS-версию сайта. Если у вас есть WordPress CMS с управлением хостингом cPanel, вы можете прочитать подробное руководство по переходу на HTTPS.
2.1.6. Управление битыми ссылками
Если вы навсегда удалили одну из своих страниц и создали новую, установите 301 редирект на главную или новую страницу и удалите все ссылки на эту страницу на своём сайте.
RewriteRule ^old/URL/path$ http://site.com/new/path
Подробнее читайте в посте о том, как найти битые ссылки.
2.2. 302 Found, 302 Moved Temporarily
302 редирект демонстрирует, что запрошенный ресурс временно перемещён. Данный вид редиректа может быть использован для страниц с краткосрочными акциями и распродажами конкретного товара. Не рекомендую использовать его для адресов, изменённых навсегда. Роботы поисковых систем индексируют только ту страницу, на которую установлен редирект, но в выдаче останется старый URL. Однако, если робот поисковой системы решит, что вы по ошибке настроили 302 редирект вместо 301, он заменит адрес в выдаче, как и в случае с 301 редиректом. И вернуть его обратно будет проблематично.
Вы можете прописать такую директиву в файле .htaccess, чтобы установить редирект:
Redirect 302 /old.html http://localhost/new.html
2.3. 307 Moved Temporarily
Временный редирект, который указывает, что документ временно доступен по другому URL. Отличие от 302: сохранение метода передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не стоит (если нет дополнительных указаний).
Вы можете установить 307 Moved Temporarily, когда контент перемещается только временно (например, при перепроектировании). Это позволяет поисковикам понять, что ваш сервер совместим с HTTP 1.1.
Кроме того, клиенты не должны автоматически переадресовывать запросы POST / PUT / DELETE. Кэширование должно выполняться только в том случае, если в ответе сервера есть заголовки Cache-Control или Expires.
Переадресация с http на https
При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{HTTP_HOST} ^domain\.ru$
RewriteRule ^(.*)$ https://domain.ru/$1
Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule ^(.*)$ https://domain.ru/$1
В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{HTTP_HOST} ^domain\.ru$
RewriteRule ^(.*)$ https://www.domain.ru/$1
Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$
RewriteRule ^(.*)$ https://poddomen.domain.ru/$1
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$
RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
Что такое 301 редирект для сайта
Что такое 301 редирект? Даже не так. Что такое Redirect? Это команда поисковому роботу перенаправлять посетителя на другую страницу, которая была перемещена в другое место. Цифра 301 — это код, который говорит об окончательном перемещении страницы в новую локацию. Ведь когда мы переходим на какую-то страницу и нам выдается ошибка, мы видим перед собой код этой ошибки и расшифровку. Например, код 404 говорит нам — Not Found, что означает — страница не найдена, а 505 ошибка сообщает, что ответ от сервера не был получен. Но если вышеописанные ошибки видны посетителю на открытой странице браузера, то шифры перенаправления видят только роботы, которые и направляют гостя по другой ссылке (если, конечно, редирект был настроен правильно). Вот как раз новую ссылку, меняющуюся в адресной строке браузера посетитель и заметит. То есть 301 редирект перебрасывает пользователя с одной страницы на другую, не останавливаясь на промежуточном адресе, доводя до конечного места локации контента.

Каким образом происходит процесс перемещения? С помощью кода в файлах на сервере с сайтом размещается специальный код, который роботы поисковых систем считывают и выполняют. В этом коде обязательно присутствуют константы: откуда переместить и куда. Причин для использования 301 редиректа на сайте может быть множество, рассмотрим основные из них в этой статье, ведь, возможно, что какой-то способ вам понабиться, и вы им воспользуетесь.
302 Редирект — временное переселение
Что такое 302 редирект и чем он отличается от 301? Исходя из названия, 302 Temporary redirect (временное перенаправлению) осмелюсь сказать, что этим редиректом мы можем временно перенаправлять робота и посетителей с одной страницы на другую. Сколько может длиться период временного перенаправления — это никем не указано, то есть догажываемся, что до момента, пока это перенаправление будет актуальным. Здесь хочеться уточнить, что после злоупотребления сеошниками временными перенаправлениями и введения санкций от поисковых систем к недобросовестным сайтам, крайне не рекомендуется делать 302 Redirect с одного домена на другой. То есть мы можем решать временные задачи только в пределах одного сайта.

Чем отличается 302 Редирект от 301?
Какая особенность 302 Редиректа? Сравнивая его с 301 можно сказать, что постоянное перенаправление полностью передает весь вес сайта, включая ТИЦ, PR и фильтры, а также дает роботам понять, что страница, с которой идет 301 Редирект больше не нуждается в индексации. То есть из поиска она выпадает и заменяется второй. 302 Редирект ничего подобного не передает странице, на которую делается перенаправление, разве что вторая страница быстрее индексируется. А это означает для робота, что обе страницы доступны и должны присутствовать в поиске.
Для каких нужд используют 302 Redirect? Чаще всего для перенаправления на обновленные данные, пока на «редирекнутой» странице не будет обновлена информация или для придания акцента и большего внимания новой странице. Например, вместо страницы категории для выбора можно переадресовать посетителя сначала на акцию, а по его желанию он может по заметной ссылке перейти снова на страницу категории. Команды для создания 302 Temporary redirect не привожу, так это будет уже совсем иная статья. Пользуемся с умом.
Как узнать, что переадресация работает правильно
Узнать, корректен ли код 301 редиректа можно при помощи браузера. Введите в адресную строку URL страницы, с которой совершается переадресация. В идеале Вы должны увидеть ту страницу и тот URL, на которую был настроен редирект.
После того, как Вы настроили 301 редирект, его необходимо проверить на корректность работы. Для этого введите в адресной строке своего браузера URL страницы, с которой была сделана переадресация. Если Вы видите новую страницу, то есть, ту, на которую сделали редирект — то все корректно работает.
Также можно заглянуть в Яндекс.Вебмастер, открыть раздел «Инструменты» — > «Проверка ответа сервера». В поле «Опрашиваемый URL» введите адрес старой страницы. Вы должны получить код статуса http — «301 Moved Permanently».
Как это работает?
Попробуем разобраться, как работает эта конфигурация htaccess редиректа http на https. Это поможет внести необходимые изменения:
RewriteEngine On
Первая строка позволяет Apache запустить механизм преобразования http-ссылок, необходимый для выполнения перенаправления:
RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} !^www.
Эти две строки — условия перенаправления, они используются для определения того, должен ли запрос быть перенаправлен. Если любое из этих двух условий возвратит true, то Apache выполнит перенаправление, поскольку условия соединяются с помощью .
Первое условие определяет, использует ли запрос URL не-HTTPS. Второе условие определяет, использует ли запрос URL www. Заметьте, я использовал www.а не www., потому что образец является регулярным выражением и точка здесь используется для экранирования. Следовательно, ее нужно оставить:
RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$
Четвертая строка — она соответствует имени хоста входящего запроса, и разделяет его на www часть (если таковая имеется), и остальную часть имени хоста. Мы будем ссылаться на нее позже с помощью %1 в RewriteRule.
Если вы знаете имя хоста заранее, то можно улучшить правило редиректа с http на https, встроив URL и пропустив это условие (пример ниже):
RewriteRule ^ https://www.%1%{REQUEST_URI}
RewriteRule – центральный элемент перенаправления. С помощью этой строки мы предписываем Apache перенаправить любой запрос на новый URL, который состоит из:
- https: // WWW;
- %1: Ссылка на без-WWW часть хоста;
- %{REQUEST_URL}: URL-запрос, без имени хоста.
Все эти маркеры соединены друг с другом, и представляют собой конечный URL перенаправления. В конце мы добавляем три флага:
- NE — чтобы не выйти из специальных символов;
- R=301 — использовать HTTP статус 301 редиректа;
- L — прекратить обработку других правил, и немедленно перенаправить.