Перенаправление HTTP на HTTPS

21 января 2017
Способы перенаправления запроса HTTP на защищённое соединение HTTPS.
Код нужно добавить в файл .htaccess, который лежит в корне сайта. Если данного файла нету, то его нужно создать.

Способ 1 (рекомендуется разработчиками Апача)
<IfModule mod_rewrite.c>
	Options +FollowSymLinks
	RewriteEngine On
	RewriteBase /

	# Перенеправление HTTP на HTTPS
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Способ 2
<IfModule mod_rewrite.c>
	Options +FollowSymLinks
	RewriteEngine On
	RewriteBase /

	# Перенеправление HTTP на HTTPS
	RewriteCond %{SERVER_PORT} !^443$
	RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</IfModule>

Способ 3
<IfModule mod_rewrite.c>
	Options +FollowSymLinks
	RewriteEngine On
	RewriteBase /

	# Перенеправление HTTP на HTTPS
	RewriteCond %{HTTPS} off
	RewriteCond %{HTTP:X-Forwarded-Proto} !https
	RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>