Если вы используете балансировщик балансировки веб-сервисов Amazon Web Services, который принимает трафик https и перенаправляет его на ваш сервер (ы) с помощью http, здесь описывается правильный способ перенаправления всего HTTP-трафика на https: https: //aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb
Используйте заголовок X-Forwarded-Proto (содержащий http или https), который всегда включен в http-запросах от балансировщика нагрузки, как описано здесь: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html
В файле httpd.conf:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
Или в вашем корневом файле .htaccess:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
Бонус: он не будет пытаться перенаправить HTTP-трафик на локальную разработку машина.