Apache переадресация сайта c www на без www и с HTTP на HTTPS протокол

Оглавление (нажмите, чтобы открыть):

Редирект с HTTP на HTTPS в .htaccess

Веб-серверы : Apache + nginx

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

Веб-серверы: Apache + nginx. Поддержка SSL включена. SSL-сертификат приобретен, одобрен и установлен. То есть, все настроено и работает. Так что осталось только сделать редирект с HTTP на HTTPS. Директивы для файла .htaccess:

Редирект с HTTP на HTTPS

— Включить работу механизма преобразования:

— Если доменное имя без www:

— Тогда заменить его на домен с www:

— Если HTTPS отсутствует:

— Тогда заменить домен без HTTPS доменом с HTTPS:

Примечания

1. X_FORWARDED_PROTO может называться X-Forwarded-Proto или еще как-нибудь иначе. От обратного прокси-сервера или балансировщика нагрузки надо получить сведения о том первоначальном запросе, который он получает. Обратные прокси-сервера или балансировщики нагрузки могут предоставлять веб-серверу эту информацию. Может быть отправлен заголовок X_FORWARDED_PROTO или X-Forwarded-Proto или называемый как-то иначе, содержащий название протокола (HTTP или HTTPS). Так обычно. Но не всегда. Поэтому в каком-то числе случаев как именно получить название протокола возможно придется выяснять экспериментальным путем.

2. Другим вариантом может быть просто установить переменную среды (если для данного сервера это возможно):

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

Тогда директивы для файла .htaccess будут такими:

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

3. Документация Apache Module mod_rewrite (in English): http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Aliosque subditos et thema

Переименовать файл в DOS командой REN REN FILE1.TXT FILE2.TXT — Переименовывает FILE1.TXT в FILE2.TXT REN FILE1.TXT FILE2.HTM — Переименовывает FILE1.TXT в FILE2.HTM REN *.TXT *.HTM — Переименовывает все файлы с расширением .txt в файлы с расширением .htm. Меняются только расширения, собственно имена файлов остаются как были. Поскольку REN является краткой формой написания команды, так же может использоваться и RENAME вместо REN — как более говорящая, например. Переименовать файл в DOS командой MOVE MOVE FILE1.TXT FILE2.TXT — Переименовывает FILE1.TXT into FILE2.TXT MOVE FILE1.TXT FILE2.HTM — Переименовывает FILE1.TXT into FILE2.HTM Оба способа переименования файлов работают так же в консоли Windows. Однако есть некоторое отличие: MS-DOS, другие типичные / старые DOS’ы, интерпретатор командной строки Windows до Windows 95 и Windows NT 3.51 используют краткий формат записи имени файла (формат «8.3»). Так что, к примеру, REN FILE1.HTM FILE1.HTML не станет работать, будет сообщение об ошибке: «Duplicate file name or file name not found». Что не происходит в случае с более новыми DOS’ами или консолью более новых Windows. И при использовании старых DOS’ов проблемы может не быть — если установлены соответствующие драйверы. [ 1 ] Протестировано в MS-DOS 6.0+. Однако вполне вероятно, что будет работать и в других версиях MS-DOS или в других DOS’ах.

Перенаправление с http на https в apache

Задача: перенаправить http запросы на защищенное https соединение например, запрос http://site.domain.ru будет перенаправлен на http s ://site.domain.ru

Конфигурация: Debian 7, apache 2.2.22

Примечание: в данной статье не рассматривается генерация ключей и сертификатов. Читайте в следующей

1. Если не включено, включаем поддержку необходимых модов в apache:

host_alias – позволяет на одном IP адресе поддерживать несколько виртуальных хостов;
ssl – поддержка шифрования SSL (в данной статье настройка SSL не рассматривается);
rewrite – изменяет запрошенный пользовательский URL на URL определенный правилом.

Настройка сайта для работы по HTTPS

После установки SSL-сертификата необходимо настроить перенаправление всех запросов с протокола HTTP на HTTPS. Сделать это можно с помощью директив в файле .htaccess.

Чтобы настроить перенаправление c HTTP на HTTPS на хостинге RU-CENTER:

1. Перейдите в раздел Файловый менеджер панели управления хостингом.

2. Выберите папку с названием сайта, на который вы установили SSL-сертификат, и перейдите в папку docs (корневой каталог).

3. На панели инструментов нажмите Создать файл и укажите название .htaccess.

4. Нажмите на созданный файл для редактирования и добавьте в него следующие директивы:

Если файл .htaccess на вашем сайте уже существует, откройте файл и добавьте указанные выше строки в его начало.

5. Сохраните изменения и проверьте работу сайта. Сайт должен открываться по HTTPS. Если сайт отображается корректно и отображается в адресной строке значок защищенного соединения, то настройка произведена корректно.

Если после настройки перенаправления сайт отображается некорректно, то это может быть связано с наличием смешанного контента (Mixed Content). В этом случае часть содержимого загружается на страницу сайта по небезопасному протоколу HTTP вместо HTTPS, что не позволяет считать страницу сайта полностью безопасной. Как правило, это можно исправить методом замены абсолютных ссылок на относительные, т.е. в каждом файле проекта поменять ссылки вида — https://site.ru/content/ на относительные— /content/.

6. Если на вашем сайте установлена CMS, вам необходимо произвести дополнительные действия по настройке HTTPS-соединения и оповестить поисковики об изменениях.

Рекомендуем вам обратиться к документации по CMS и выполнить следующие действия:

• для сайта на WordPress: необходимо изменить протолок сайта с HTTP на HTTPS. Изменить основной протокол сайта с HTTP на HTTPS можно в разделе НастройкиОбщие настройки в панели администрирования WordPress;

• для сайта на Joomla: в панели управления CMS перейдите в раздел Общие настройкиСерверВключить SSL;

• для сайта на Drupal: настройте переадресацию и отредактируйте ссылки, как это описано в пунктах 1-5 этой инструкции.

• для сайта на Opencart: в панели управления CMS-сайта перейдите в раздел СерверБезопасность и включите опцию Использовать SSL и добавьте ключ шифрования конфиденциальной информации при обработке заказа.

• для сайта на MODX: в панели управления сайта перейдите в раздел Системные настройкиСистема и сервер, найдите тип сервера и измените протокол на HTTPS.

Мастер Йода рекомендует:  Курс «Основы Kotlin»

7. Если настройки для SEO уже сделаны, нужно произвести дополнительные действия по настройке HTTPS-соединения.

Для этого отредактируйте файл robots.txt, указав протокол HTTPS в директивах Host и sitemap :

Host : https://www.site.ru
sitemap : https://www.site.ru/sitemap.xml

8. Оповестите поисковые системы об изменениях на вашем сайте после завершения настройки HTTPS-соединения:

• перейдите в Яндекс.Вебмастер в раздел ИндексированиеПереезд сайта и установите отметку в поле Добавить HTTPS.

• зайдите в Google Search Console и добавьте версию сайта с HTTPS.

Apache переадресация сайта c www на без www и с HTTP на HTTPS протокол

Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. +7 (926) 263 83 47

301 Редирект в htaccess с http + www на https без www

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

А пока немного теории: 301 редирект это по сути простая 301-ая ошибка (301 Permament Redirect), которая возвращается сервером при запросе конкретного адреса вашего сайта, расшифровывается так: «Сайт на постоянной основе перенесен на такой-то адрес». Все пользователи, боты и другие инопланетные обитатели зашедшие на ваш сайт, будут перенаправляться по новому месту прописки, и для поисковых систем Яндекс, Гугл и других (произойдет склейка домена), весь вес сайта будет перенесен на новый адрес.

Однако санкции наложенные на старый сайт перенесены не будут, иначе все конкуренты давно бы наклепали редиректов со своих ГовноСайтов на сайты конкурентов.

Итак: Правильная настройка 301 редиректа в .htaccess

Базовая настройка редиректа с WWW.site.ru на site.ru до появления защищенного протокола выглядела так:

Обратный редирект с site.ru на WWW.site.ru так:

Теперь же когда повсеместно стали использоваться Https (SSL) защищенные протоколы. Стали делать переадресацию с с http на https

Но тут возник вопрос. Как же правильно объединить эти 2 301 редиректа в один, получить компактный код и чтобы не слишком заморачиваться. На просторах интернета я нашел такой вот код и он меня вполне устраивает.

Сразу и перенаправление с www на без + редирект с http на https :

Примечание!
1) site.ru — нужно заменить на ваш адрес сайта
2) Эти две строчки:

Сразу прописаны в файле .htaccess в CMS Joomla 1.5 / 2.5 / 3.x / итд.
Однако если вы их не нашли в этом файле то, чтобы код работал, их необходимо прописать.

Также чтобы не забыть — Простые редиректы!

На другой сайт:

Страница на сайт:

Страница на страницу:

Я делаю сайты на Joomla 3, но эти редиректы подходят большинству сайтов на php с .htaccess

Настройка 301 редиректа в файле .htaccess и другими способами

Содержание:

Во время работы с сайтом может возникнуть ситуация, требующая создания автоматического перенаправления с одного url-адреса на другой, которые принято называть словом «редирект». Это часто происходитит при переезде ресурсе на новый домен, при переходе на обновлённый адрес, а также изменении адресов страниц. Чтобы пользователи смогли найти страницу по новому адресу, их должно автоматически «перекидывать» со старого адреса на новый.

Правильно сделать такое перенаправления поможет постоянный редирект или 301 Redirect. Что это такое и как настроить расскажем в этой статье.

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

Редирект — это процесс, при котором пользователь перенаправляется с неактуальной страницы на актуальную. Это может быть http и https или адрес с/без www. Редирект может выполняться как на сервере, так и в браузере. Но первый вариант считается предпочтительным, так как серверный редирект не замедляет загрузку страниц.

Permanent Redirect 301 («301 редирект», «постоянный редирект», «код состояния HTTP 301» или «301 редирект страницы») – один из двух наиболее распространённых видов редиректа, наряду с Temporary Redirect 302. Этот ответ сервера на запрос браузера или поисковой системы означает, что произошла перманентная переадресация страницы. Она больше не доступна по текущему адресу, так как переместилась на новый адрес навсегда. Её прежний url стал недействительным, а вес с него переместился на новый адрес.

Для чего он нужен

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

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

  1. Переезд сайта на новый адрес. Нужно настроить перенаправление, чтобы все запросы к old_site.com перенаправлялись на new_site.com .
  2. Установка SSL-сертификата. Чтобы запросы к страницам, которые начинаются на http, перенаправлялись на адреса с префиксом
  3. Смена URL страницы. Это может быть связано с переходом на другую CMS или SEO-оптимизацией. Нужно, чтобы с example.ru/1hdkr5 был настроен редирект на example.ru/page_adress .
  4. Перенос разделов на субдомены. Было www.example.ru/example , а нужно example.site.ru .
  5. Для аккумуляциитрафика с онлайн-бренда, расположенного в разных доменных зонах. Вебмастер покупает домены example.com , example.ru , example.net , example.org и example.biz и на четырех последних сайтах настраивает редирект на example.com .
  6. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Способы настроить редирект 301

  • Плагины для CMS. Особенно часто данный способ применяется для настройки 301 редиректа в WordPress.
  • Настройка через PHP. Редирект осуществляется через задания дополнительного условия в PHP-скрипте. При обращении к корневому файлу php браузер получает указание открыть одну страницу вместо другой.
  • Настройка при помощи HTML. Используется в случае, если необходимо изменить лишь одну страницу на статическом сайте. Редирект происходит путём добавления специальной метки (тега), в заголовок html-документа.
  • JavaScript — операция через браузер. Скрипт загружается в ПО, это более медленный способ. Работает только при включенном JavaScript в браузере. Используются преимущественно для редиректа с задержкой, когда сначала посетитель сайта видит страницу с обратным отсчетом и текстом. Для настройки в тег добавляется скрипт.
  • Изменение файла .htaccess, отвечающего за дополнительную конфигурацию в серверах на Apache. Удобнее всего это сделать через панель управления хостингом.

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

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

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

Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трёх директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.

Найти файл можно через панель управления хостинга (Cpanel, ISPmanager), либо использовать FTP-клиент. При любом варианте, нужно включить отображение скрытых файлов.

Предварительная подготовка

  1. Для создания 301 редиректа перейдите в панель управления вашего сайта.
  2. Проверьте наличие .htaccess файла в корневом каталоге сайта ( public_html ). Если файл отсутствует, создайте его.
  3. Рекомендуем все условия редирект записывать в блоке IfModule дабы избежать ошибок при выполнении файла htaccess.
  4. Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine), при помощи команды:
  5. Хостинги применяют по умолчанию 302 или любой другой 3xx редирект, В связи с этим в правилах используются флаги. Рекомендуем дописывать в своих правилах [R=301,L].

Далее разберём наиболее распространенные варианты 301 редиректа через .htaccess.

Склейка зеркал сайта (www / без www)

Сайты http://name.site и http://www.name.site для поисковых систем являются разными. А по факту это разные адреса одного сайта.

В поисковой системе сайт по одному адресу будет проиндексирован, а по второму адресу сайт будет зафиксирован как дубль, что может повлиять на продвижение ресурса. Для избегания дублей необходимо сделать так называемую «склейку» сайта, то есть прописать 301 редирект в .htaccess.

Если изначально в индекс поисковой системы попала версия «с www», в файл .htaccess добавляется редирект на «без www»:

Если произошла обратная ситуация и необходима переадресация с без «www» на «www», то в файл прописывается:

Редирект с http на https

Для всего сайта

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

Если данная конструкция не сработает, попробуйте другой вариант:

Если циклическое перенаправление на страницах осталось, попробуйте такой вариант:

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

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

Постранично

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

Для одной страницы

Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующую конструкцию:

Редирект с https на http

Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:

Изменение домена

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

Редирект на страницу с другим url (без параметров)

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

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

В случае когда адрес содержит параметр (например, http://name.site/articles.php?section=1 , где параметром является « section=1 » ), то прописывают следующую конструкцию:

Мастер Йода рекомендует:  Python лидирует в рейтинге PYPL за октябрь 2020 года

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

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

Редирект со страниц со слешем на без слеша (для всего сайта)

Для избегания дублей в файле .htaccess используют следующую конструкцию:

Или более короткий вариант:

Редирект со страниц без слеша на слеш (для всего сайта)

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

301 редирект с 404 Not Found

Код 404 Not Found (страница не найдена) присваивается удалённой или несуществующей странице на сайте, а также часто возникает при попутке неправильно ввести url-адрес. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса, при виде ошибки.

301 редирект для страниц 404 Not Found сделать совсем несложно. Например, этот код перенаправит со всех 404-страниц на главную сайта:

Однако, делать такие редиректы в массовом порядке не рекомендуется, так как это может испортить SEO-статистику всего ресурса.

Финальный вид файла .htaccess

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

Постоянный редирект для Nginx

Этот веб-сервер наиболее часто используется в VPS-хостинге в связке с сервером Apache. В нем 301 редирект настраивается добавлением строк в конфигурационном файле nginx.config в секции server.

C www на без www

Без www на с www

После сохранения изменений в файле нужно перезапустить сервер выполнением команды « service nginx restart ».

Редирект для PHP

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

  1. Загрузите файл index.php на жесткий диск.
  2. Сгенерируйте код.
  3. Вставьте код в текстовый файл, сохраните его и загрузите на сервер.
  4. Укажите основной URL в настройках сайта.

Редирект 301 в разных панелях управления хостингом

Cpanel

Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:

  • в строке «Тип» выбрать «Постоянный 301»;
  • в строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru);
  • в строке «Перенаправляет на» указать для домена адрес http://example.ru;
  • в блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www»;
  • сохранить изменения кликом на «Добавить».

ISPmanager

В этой панели можно править файлы nginx.config или .htaccess, но есть в панели и встроенный механизм переадресации. Например, для настройки редиректа на https/http, нужно снять галочку с соответствующего пункта в разделе «WWW-домены».

Особенности редиректа для популярных CMS

WordPress

Для самой массовой CMS существуют десятки плагинов для создания постоянного редиректа. Наиболее популярные среди них: Redirection, Simple 301 Redirects, Quick Page, SEO Redirection и Safe Redirect Manager.

Для примера, разберём перенаправление через плагин Redirection. Его настройка производится через консоль сайта во вкладке «Инструменты» или через раздел плагинов. Чтобы сделать переадресацию, достаточно заполнить два поля — Source URL и Target URL. Соответственно, в первой графе будет указан старый адрес, во второй — новый, без или с www.

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

OpenCart

Для Opencart редактируется файл .htaccess. Код переадресации выглядит так:

Битрикс

Для перенаправления на новую страницу достаточно отредактировать файл .htaccess, внеся в него такой редирект:

Joomla

В панели администратора этой CMS нужно перейти в раздел «Компоненты» => «Перенаправление». В окне можно настраивать правила редиректа для различных страниц, а также отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.

MODX

Для гибкой настройки переадресации стоит использовать плагин Redirector.

Автоматическое создание кода

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

Серверы для генерации кода

  • Seomagnifier — 301 для www.
  • 301 Redirect Code Generator Tool — для доменов и страниц.
  • Generate .htaccess— для страниц, разделов сайтов, доменов.

Циклическое перенаправление

Одна из самых распространённых проблем при настройке 301 редиректа — вероятность создания не одинарного перенаправления, а целой цепочки редиректов. Это может быть вызвано некорректной настройкой файла .htaccess, плагина CMS или прямым действием вируса. В очень вероятной перспективе такие «цепочки» приводят к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS».

Обнаружить циклическое перенаправление помогут бесплатные онлайн-сервисы проверки редиректа. Среди наиболее популярных:

Можно также установить специальные браузерные расширения для Google Chrome и Mozilla Firefox.

Действия при циклическом редиректе

  1. Если ошибка возникла в процессе настройки. Следует проверить корректность соблюдения правил работы 301 редиректа для конкретных адресов, по которым выдаётся ошибка.
  2. Если циклический редирект вызван вирусом. Когда зацикливание возникает при попытке открыть любой адрес на сайте, выход может быть один — откат к последней работоспособной версии, сохранённой в бекапе.
  3. Если зацикливание вызвано слишком длинной цепочкой редиректов (более пяти). Нужно сократить цепочку перенаправлений до одного шага.

Как узнать, что переадресация работает правильно

Проверить редирект лучше всего обычным тестированием. Нужно ввести в адресную строку браузера www.example.ru и нажать Enter. Если все правильно, то должен открыться сайт по адресу example.ru.

Для более точной информации можно использовать онлайн-сервисы отслеживания. С ними можно работать «в 1 клик» — достаточно просто вставить ссылку на интересующую страницу.

Для примера, разберём работу в сервисе Redirect Checker. После ввода ссылки перенаправления при нормальной работе внизу появится надпись «Everything seems to be fine», то есть «все работает». Сервис автоматически проверит редирект и сообщит, если он работает некорректно. Если переадресация не действует, пользователь увидит такие сообщения: «Редирект для домена больше не работает» или «Перенаправление не настроено».

Заключение

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

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

Чтобы сайт после редиректа не только открывался по нужному адресу, но и работал без сбоев, ему нужна надёжная хостинг-площадка. Размещайтесь на VPS от Eternalhost, чтобы забыть о технических сложностях и полностью сосредоточиться на развитии своего интернет-ресурса!

301 редирект (переадресация) через .htaccess – на все случаи жизни

Три важных совета и семнадцать конкретных примеров установки 301 переадресации страниц через htaccess!

Советы

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

Избегайте последовательных редиректов (двух, трех и т.д.). Правила должны быть настроены так, что при возникновении редиректа он должен перенаправлять пользователя (робота) только один (!) раз. Каждое лишнее переадресация – это секунды драгоценного времени отдачи страницы, это нагрузка на сервер, это нечеткие команды для поисковых роботов.

Не забывайте, что многие браузеры кешируют (запоминают редиректы), поэтому проверять переадресации лучше на сайте – http://www.bertal.ru.

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

Второй способ сделать редирект – это переадресация через php

Правила переадресаций

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

Самый простой вариант

2. 301 редирект с www на без www (главное зеркало – домен без www)

3. 301 редирект с без www на www (главное зеркало – домен с www)

4. 301 редирект со страниц со слешем на без слеша (весь сайт)

5. 301 редирект со страниц без слеша на слеш (часто в CMS системах устанавливается автоматически)

6. Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы

7. Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы

8. Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы

9. Один (а не два последовательных!) 301 редирект на без www и без слеша на конце адреса страницы

10. 301 редирект только адреса site.ru/index.php (без GET параметров) на основное зеркало site.ru

11. 301 редирект всех адресов с index.php и GET параметрами на страницы только с GET параметрами (вырезать в url index.php)

Пример: типа site.ru/index.php?n=1 на site.ru/?n=1

12. 301 редирект для index.php, index.html или index.htm (например в Joomla), массовая склейка

13. 301 редирект url с GET параметрами (динамический URL) на статический

1 вариант (простой адрес с GET параметром)

2 вариант (со страницы и GET параметром)

14. Все страницы одного домена на главную страницу другого домена

15. Каждая страница одного домена на такой же адрес другого url

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

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

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

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

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

Обратный редирект, если перестали использовать SSL сертификат.

Редирект на https и www в htaccess

Сейчас в .htaccess:

То есть настроен редирект на «www». Попросил поддержку хостинга помочь с редиректом, они прислали:

Подскажите, пожалуйста, как объединить все эти правила так, чтобы в любом случае, как бы ни набрал пользователь, он перенаправлялся на https://www ? Я пробовал так:

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

Получилось сделать рабочий вариант:

Но теперь, если ввести http://сайт.ru в логе браузера видно, что идет 2 редиректа: http://сайт.ru -> https://сайт.ru , а потом https://сайт.ru -> https://www.сайт.ru

Мастер Йода рекомендует:  27 супер плагинов VS Code для JavaScript разработчика

Наверное, так не должно быть.

1 ответ 1

Никто так и не ответил. Не знаю, удалять или нет тему.

Хостинг сайтов

Надежный, профессиональный, недорогой и быстрый хостинг с поддержкой PHP, MySQL

Закажи сейчас и получи 10 дней бесплатно

VDS хостинг

Виртуальный выделенный сервер.

Полный root доступ к серверу, выделенный IP адрес, ОС Linux на Ваш выбор.

Партнерская программа

Зарабатывайте 10% со всех платежей привлеченных клиентов! С нами выгодно!

Прекрасная возможность заработать, разместив партнерскую ссылку на своём сайте

Недорогой хостинг и доменные имена, а также VDS серверы

Добро пожаловать на сайт компании «СайтЭко». Если Вас интересует размещение сайта в Интернете – Вы пришли по адресу. Наша компания предлагает недорогой хостинг с полным технологическим обеспечением и сервисной поддержкой. У нас Вы сможете выбрать услугу в зависимости от требований своего ресурса – на выбор предлагается четыре тарифа, которые смогут обеспечить бесперебойную работу, будь то обычный сайт или Интернет-магазин с солидным потоком клиентов.

Хостинг

*при оплате за год, с учетом предоставляемой скидки 30%

*при оплате за год, с учетом предоставляемой скидки 30%

Домены

за регистрацию доменного имени в зоне РФ на год.

за регистрацию SSL сертификата RapidSSL.

Почему выбирают именно нас?

За наши акции и специальные предложения!

Перенос
сайта

Мы бесплатно перенесем ваш сайт еще до оплаты. Достаточно обратиться в поддержку и перенос произойдет всего за 1 день.

Бесплатный
поддомен

Бесплатный домен третьего уровня (поддомен) На общедоступных доменах: .hosteko.ru, .eko3.ru, .myeko.ru.

Бесплатный
домен

Бесплатная регистрация доменного имени на один год в зонах ru или рф при заказе от 300 руб.

10 дней
бесплатно

Бесплатный тестовый период, доступный к заказу на сайте.

Настраиваем редирект с http на https

Приветствую вас на сайте Impuls-Web!

Сегодня мы рассмотрим последний этап перевода сайта на SSL-сертификат, в котором нам нужно настроить редирект с http на https, или, другими словами, перенаправление с нашего прежнего адреса, начинающегося с http://, на новый адрес по протоколу HTTPS.

Навигация по статье:

Переадресация на https через htaccess

Для того, что бы настроить редирект с http на https, вам нужно, при помощи программы Notepad++, в корне вашего сайта открыть файл .htaccess, и далее, в самом начале этого файла, прописать один из нескольких вариантов перенаправления.

Как пользоваться Notepad++ и настроить для него FTP-подключение я рассказывала в одной из прошлых статей, с которой вы можете ознакомиться по этой ссылке:

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

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

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

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

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

Проверка редиректа

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

Так же, вы можете воспользоваться одним из онлайн-сервисов, которые позволяют просмотреть правильность выполнения редиректа. Например, Redirect Checker. Для выполнения проверки вам нужно:

  1. 1. Перейти на страницу онлайн-сервиса по этой ссылке
  2. 2. В поле для ввода указать адрес, с которого должно осуществляться перенаправление в формате http://имя-сайта.ру .

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

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

Так же, вы можете проверить правильность выполнения редиректа для конкретной поисковой системы. Для этого, перед нажатием на кнопку «Analyse», нужно выбрать из выпадающего списка название нужного поискового робота:

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

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

Я надеюсь, что данная статья поможет вам правильно настроить редирект для HTTPS –протокола и осуществить переход на SSL-сертификат с наименьшими потерями. Если данная статья вам понравилась, делайте репост в социальные сети и подписывайтесь на мою рассылку. Желаю вам успешного переезда и до встречи в следующих статьях.

Редирект с https на http

Если вы или кто то другой перевёл на https: один из сайтов, на виртуальном или VDS хостинге, то у всех остальных HTTP сайтов сразу возникает проблема — современные браузеры начинают открывать их не по протоколу http а по https.

А поисковик Google на вашем http сайте начинает, в первую очередь искать https страницы . и находит их на других сайтах, находящися на этом хостинге, и индексирует! ( подробнее здесь )

Иногда потребность в возврате с https на протокол http вызвана тем, что быстроробот Гугла в несколько раз реже заходит на «безопасный сайт», и не видит обновлений контента.

Как сделать редирект с https на http?

Решение 1

Делаем редирект на http с помощью .htaccess

Замечание Перечисленные ниже варианты предназначены для серверов Linux.

Пояснения для всех последующих вариантов Редактируем или создаём, если его нет, файл .htaccess в корневой папке вашего сайта, и добавляем сразу после
RewriteEngine On
один из нижеперечисленных вариантов, при этом не забыв изменить site.ru на URL вашего сайта.

Вариант 1
RewriteCond % ^443$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Вариант 2
RewriteCond % =on
RewriteRule ^(.*)$ http://%/$1 [R=301,L]

Вариант 5
RewriteCond % =on
RewriteRule ^.*$ http://%%

Вариант 7
RewriteCond % !^site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Вариант 10
RewriteCond % ^443$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Попробуем ещё вариант — вместо % указать %

Вариант 12
RewriteCond % On
RewriteRule ^.*$ http://%%

Замечание Если не работает, то можно попробовать поместить, указанные выше строки, в выражение IfModule.

ВАЖНО При открытии сайта, Сначала браузер проводит проверку наличия SSL-сертификата и уже затем срабатывает редирект. Другими словами, если на сайте нет SSL-сертификата, то посетители сначала увидят предупреждение браузера о незащищённом контенте, и уже затем сработает редирект на http .

Замечание Обычно, при открытии сайта, Сначала браузер, как правило, открывает версию https сайта. Но это не точно. На самом деле, это зависит от настроек сервера и сайта. Если вебсервер отдаёт заголовок «Strict-Transport-Security» ( смотрим в настройках add_header Strict-Transport-Security ), тогда браузер будет открывать сайт по HTTPS протоколу. Дополнительно, этот заголовок появляется, если в настройках web-домена установлено: «Повышенная безопасность SSL»

Если Решение 1 не работает?

В частности этим грешат серверы и VDS с панелью ISP Manager 5 ( на других панелях управления, например cPanel, с Lunix на этом же сайте переадресация работает! )

Решение 2

Открываем и внимательно смотрим ваш сайт (для примера site.ru )именно по протоколу httpS
если он не ваш и отличаются и по внешнему виду и по контенту, то нужно выяснить его ( URL ). Обычно это один из https сайтов, расположенный на вашем IP адресе. Найти список сайтов на вашем IP можно стандартным сервисом «Сайты на одном IP»

Итак, — хорошо — вы узнали, какой это сайт ( назовём его, для удобства https-sait.ru )

И теперь все дальнейшие правки, как ни странно, будем вести не на проблемном сайте, а на найденном (https-sait.ru)!

Идея: поставить передресацию с https на http на найденном https сайте https-sait.ru

13 Решение: создаем в корне этого сайта в файле htaccess правила типа условное выражение такого вида:

#
RewriteCond % on
RewriteCond % ^www\.sait\.ru$ [NC]
RewriteRule ^(.*)$ http://www.sait.ru/$1 [R=301,L]
#
RewriteCond % on
RewriteCond % ^sait2.ru$ [NC]
RewriteRule ^(.*)$ http://sait2.ru/$1 [R=301,L]
#
RewriteCond % on
RewriteCond % ^sait3.ru$ [NC]
RewriteRule ^(.*)$ http://sait3.ru/$1 [R=301,L] # и так далее. для одного сайта sait.ru или всех остальных http сайтов (sait2.ru, sait3.ru) , которые есть на вашем хостинге.

Другими словами, для того, чтобы сделать редирект с https на http вашего сайта sait.ru, вам потребуется найти и открыть https-sait.ru, отредактировать там .htaccess файл, прописав правила аналогичные пункту 13 для каждого вашего сайта: sait 1, 2, 3.ru

Вот такие странности панели ISP Manager .

Почему это происходит?

Решение 3

Замечание Предлагаемое решение работает на серверах с NginX.

Если у вас сервер с nginx, тогда делаем переадресацию в его настройках

Указав, вместо ip — ваш реальный IP, вместо site.ru — URL вашего сайта и вместо # пути к сертификату — реальный путь. Сохраняем и перегружаем сервер

находим и удаляем там же строку
add_header Strict-Transport-Security «max-age=31536000;»;

Если что то не работает, перезагружаем nginx и смотрим ошибки, которые находятся в /var/log/nginx/error.log

Замечание Если нужно, чтобы сайт открывался как по http, так и по протоколу https, то вышеуказанные варианты приведут к зацикливанию .

Нужно же, чтобы сайт открывался как по http, так и по https. Если прописывать редирект в nginx на http

Некоторые, устав бороться с NginX, сносят его и ставят классический редирект

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