9 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Как настроить?

Всё о Интернете, сетях, компьютерах, Windows, iOS и Android

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

Новый 2017й год — это будет массовый год перехода больших и маленьких сайтов, блогов и порталов с обычного старого и всем известного протокола HTTP на его более новую и безопасную версию HTTS. Буква S в аббревиатуре обозначает «Secure», то есть безопасный. Это достигается за счёт использования протоколом шифрования, которое используется в протоколах SSL или TLS, поверх которых будут передаваться данные. Такую политику продвигает компания Google. В след за ней, скорее всего, этим займутся и все остальные Интернет-медиагиганты.
Всвязи с этими событиями у веб-мастеров начинают возникать различные вопросы, связанные с переходом от одного протокола к другому. В этой статье я расскажу про то, как настроить редирект с http на https через htaccess на веб-сервере Apache.

Что это такое и зачем оно нужно?

В переводе с английского языка слово «redirect» обозначает перенаправление. То есть, смысл этой процедуры заключается в том, чтобы трафик, который идёт на обычную версию сайта перенаправить на новую, защищённую версию. Тут дело в том, что для поисковиков сайт http:// example.ru и https:// example.ru — это два разных ресурса. Поэтому, после перехода на защищённый протокол, в Интернете появляется полная копия исходного сайта. И вот чтобы избежать проблем с поиском и работой сайта, крайне необходимо настроить перенаправление, то есть редирект сайта с http на https.

Настройка перенаправления в htaccess

У самого популярного веб-сервера Apache для большего удобства работы и настройки (проще говоря, чтобы пользователь не лазил лишний раз в глобальный конфиг httpd.conf ) используется специальный файл дополнительной конфигурации .htaccess, который лежит в каталоге сайта. Вот как раз с его помощью можно настроить перенаправление http на https.

Итак, с помощью любого подручного текстового редактора — vim, nano, mcedit и т.п. — открываем файл и прописываем следующее:

Если вдруг не заработает — пробуйте второй вариант настройки редиректа через htaccess:

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

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

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 сертификат.

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

Редирект на Linux-хостинге

Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления.

Читать еще:  Как узнать Hardware ID в Windows 10

Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.

Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?

Как настроить 301 редирект с HTTP на HTTPS?

Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.

Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess

Настройка редиректа в ISPmanager

Откройте панель управления ISPmanager и перейдите в раздел «WWW-домены». Выберите домен, который должен открываться по HTTPS и нажмите Изменить. Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения.

Готово! Теперь ваш сайт будет работать по протоколу HTTPS.

Настройка редиректа в cPanel и Plesk

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

Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.

Как открыть файл .htacсess

В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:

Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл .htaccess и кликните по нему левой кнопкой мыши:

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

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

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

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

Редирект на https для разных хостингов (код для htaccess 301 редирект)

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

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

Основы перевода на https и какие проблемы могут быть

Невозможно сказать, что придется делать с тем или иным сайтом для перевода на https, так как у всех в процессе перевода взникают разные неприятности. Как правило хороший сайт, с правильно сделанным шаблоном требует минимального вмешательства и достаточно просто заменить ссылки в базе данных на https (это делается только в случае если на сайте используются абсолютные ссылки когда все указывается с протоколом http), указать ссылку на карту сайта в robots и настроить 301 редирект на https всех страниц в htaccess, не забывая при этом сделать исключение для robots.txt что бы он был доступен по обоим протоколам и http и https как того требудет яндекс.

Бывают и сложные сайты, где неверно сделан шаблон или плагины которые пытаются грузить картинки, стили или скритпы по http протоколу и соответственно либо на сайте сбиваются стили, либо показывается предупреждение, что содержимое защищено не полностью. В таком случае если сами не понимаете что делать, лучше обратиться к профессионалам так как даже не верно заменив любые ссылки можно повредить шаблон или плагин, а так же нарушить работу сайта.

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

Что бы не писать коды в самой статье мы все занесли в txt файл который откроется без проблем на любом устройстве. В файле представлены коды редиректов для таких хостингов как: webhost1 (вебхост1), 1gb (1гб), mchost, timeweb (таймвеб), sprinthost (спринтхост), nic (ник), shneider-host, zomro, sweb, link-host, jino, beget, hostia, masterhost, hostland.

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

Имя файла: Коды редиректов на https

Как проверить сайт после перевода и редирект на https

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

  1. Покупка и установка ssl сертификата на хостинге. Многие хостинги предоставляют бесплатные ssl сертификаты которые ставятся просто нажатием кнопки.
  2. Без включения редиректов проверить сайт что бы он был доступен по протоколу https. Делается это для того что бы сайт оставался работоспособным на время перевода на https, так как на многих сайтах пока не внесешь изменения в конфигурационные файлы все скрипты, стили и картинки грузятся по http и соответсвенно сайт выглядит ужасно. Что необходимо менять зависит от движка и есть такие где обязательно необходимо править конфиги, а есть где сайт идеально работает и достаточно просто установить редирект и настроить robots и карту сайта.
  3. После того как привели в порядок и все скрипты и стили подключены как положено по https обязательно проверьте ссылки в базе данных, что бы они были с https, так как если этого не сделать, то некоторые страницы сайта всегда будут отвечать редиректами для поисковиков. Объясняется это тем что поисковики гуляют по сайту и переходят по ссылкам и если они в меню, и других местах сайта стоят без https то всегда будет осуществляться редирект на https который Вы позже установите в htaccess. На многих движках ссылки в базе данных хранятся в относительном виде без указания протокола и домена, там где они сохраняются в абсолютном виде можно произвести замену ссылок выгрузив базу данных или если позволяет cms найти соответствующий плагин для поиска и замены ссылок в базе данных.
  4. После того как все заменили и Ваш сайт открывается по https без каких либо предупреждений в браузере и консоли можно отредактировать карту сайта. Если у Вас карта динамическая генерируемая движком как правило все ссылки в ней уже будут с https, но на некоторых движках необходимо в настройках указать тип протокола при генерации карты.
  5. Редактируем robots.txt добавляя в него https в ссылку на карту сайта. Секцию host отменили давно по этому у кого она есть можете удалить.
  6. Далее установливаем редирект в файл .htaccess который подходит для Вашего хостинга.
  7. Проверяет корректность работы редиректа на https и для этого в поиске пишем site:adres-vachego-site.ru (после : пишите адрес Вашего сайта). В поиске Вы увидите все страницы Вашего сайта без https и при клике на любую из них у Вас должен сработать редирект на https. Обязательно проверьте в любом инструменте к примеру “ответ сервера яндекс” корректность редиректа. Для этого отройте его и установите ссылку на Ваш сайт с http:// и нажмите проверить. Редирект должен быть именно 301 который говорит поисковикам о смене адреса страницы. Бывают такие хостинги которые ошибочно ставят 302 редирект который говорит о временном перемещении страницы, Вам нужен именно 301.
  8. Далее идем в яндекс вебмастер и в разделе индексирование – переезд сайта делаем переезд на https. Добавлять www или убирать решайте сами. Но не забудьте что если Вы добавляете www или убираете в htaccess так же должен быть код редиректа с www либо не без него, что бы сайт всегда был доступен только по одному адресу. Когда Вы подадите заявку яндек покажет сообщение.
  9. В google вебмастере нужно просто добавить сайт с https и соответственно карту сайта. Старый с http позже можно будет удалить.
Читать еще:  Как очистить буфер обмена Windows

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

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

Если Вам попадется хостинг для которого у нас нет кода редиректа напишите нам и мы внесем его в список.

Настраиваем редирект с 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.

Читать еще:  Загрузочная флешка OS X Yosemite

Так же, вы можете воспользоваться одним из онлайн-сервисов, которые позволяют просмотреть правильность выполнения редиректа. Например, 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 правила типа условное выражение такого вида:

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов:

×
×