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

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

http://сайт.ру

на

https://сайт.ру

Сайт у меня на Wordpress, сервер Apache + nginx. Рекомендации, которые здесь приведены, относятся именно к этому варианту. Возможно, у вас что-то будет другое.

Итак, для того, чтобы выполнить подобный редирект, я нашел и открыл для редактирования файл .htaccess, который находится в корне сайта.

Далее я добавил следующую конструкцию кода:

RewriteCond %{HTTP:X-Forwarded-proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

В итоге, код моего файла .htaccess на Wordpress стал выглядеть вот так:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-Forwarded-proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L]
 </IfModule>
 # END WordPress

Проверяем то, что редирект работает. Для этого можно воспользоваться, например, этим сервисом:

http://www.internetofficer.com/seo-tool/redirect-check/

Вставляем туда ссылку на какую-нибудь страницу с http.

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

2016-11-09_09-35-20

Type of redirect: 301 Moved Permanently

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