Чтобы настроить перенаправление с http на https при обращении к сайту, нужно написать в конфигурационном файле веб-сервера определенное правило.
Apache
Откройте файл .htaccess для редактирования и допишите в него следующий блок:
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
Для перенаправления с https на http допишите блок:
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
Nginx
Откройте конфигурационный файл веб-сервера Nginx для редактирования.
Если вы производите настройки перенаправления первый раз, то создайте в этом файле следующие секции:
server {
listen IP-адрес_сервера:80;
server_name www.mydomain.com;
rewrite ^ https://www.mydomain.com$request_uri? permanent;
}
server {
listen IP-адрес_сервера:443;
server_name www.mydomain.com;
.....
}
Первая служит для открытия сайта по http (80 порт) и непосредственно перенаправления, вторая - для открытия по https (443 порт), основная секция домена.
Если основная секция домена уже создана, то удалите из нее строку
listen IIP-адрес_сервера:80;
и добавьте новую секцию:
server {
listen IP-адрес_сервера:80;
server_name www.mydomain.com;
rewrite ^ https://www.mydomain.com$request_uri? permanent;
}
В случае настройки перехода с https на http добавьте секции:
server {
listen 443;
server_name www.mydomain.com;
rewrite ^ http://www.mydomain.com$request_uri? permanent;
}
server {
listen 80;
server_name www.mydomain.com;
.....
}
Если вторая секция (с основными настройками домена) существует, то внесите в нее изменения, добавив две указанные выше строки.
Выполните перезагрузку веб-сервера Nginx командой:
nginx -t && nginx -s reload