Варианты редиректов:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(nash_domen\.ru)
RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L]
# Вариант 1. Первые две строки отвечают за редирект "с www" на "без www"
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Вариант 2. Первые две строки отвечают за редирект с "без www" на "с www"
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
1.3 Редиректы от Timeweb.ru:
# Статья. Редирект без дополнительных условий
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Наиболее корректным будет сделать так:
- в .htaccess добавить редирект "с www на без www" (или наоборот);
- в ПУ включить редирект HTTP -> HTTPS
UPD20.09.2016 С редиректом в ПУ у Timeweb'a "есть нюанс" (с), ПУ использует 302-й редирект, а это не наш вариант:)
1.4 Редиректы для Ukraine.com.ua:
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
В связи с тем, что у них очень сложная система конфигурации виртуал-хостов с подключенным mod_pagespeed, очень часто происходят казусы. Если вы столкнулись с проблемами, пишите в саппорт, чтобы они фиксили.
Возможные проблемы:
- если у вас настроен автоматический редирект с www на без www или наоборот, в панели хостинга, нужно его отключить и настроить редирект средствами .htaccess;
- если у вас включен предварительный резолвинг dns или lazy load, его тоже нужно отключить, так как у вас может быть подхвачен некорректный алиас домена;
- если у вас выделенный IP-адрес для домена, возможны проблемы с отдачей параметра http_host, из-за которого может не срабатывать редирект на уникальное зеркало;
- если вы использовали HTTPS Fix и даже в исходном коде у вас все ссылки HTTPS, из-за кривог конфига nginx на стороне хостера возможны ситуации, когда некоторые изображения отдаются с некорректным заголовком как plain/text и для них происходит 301 редирект на HTTP;
- в index.php замените строку:
if (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) {
на
if ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == '1' || $_SERVER['HTTPS'])) || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && (strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https') || (!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on'))) {
1.5 Редирект для Masterhost.ru
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
#редиректим весь контент кроме файла robots.txt !!!! Внимание, если вы хотите не потерять позиции в Яндексе, но очень хочется зеленый замочек категорически необходимо отдавать robots.txt по обоим протоколам без каких либо редиректов.
RewriteCond %{HTTP:PORT} !^443$
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
1.6 Редирект для webhost1.ru:
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
1.7 Редирект для связки nginx и Apache:
# С редиректом с [без www] на [с www]
# Включаем переменную сервера HTTPS чтобы скрипты PHP понимали что включен HTTPS протокол
SetEnvIf X-SSL-Emu on HTTPS
RewriteCond %{HTTP:X-SSL-Emu} !on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
1.8 Редирект для jino.ru:
# с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
# редирект с http на https
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
1.9 Редирект для hostpro.ua:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ещё больше редиректов здесь.
Сервис для проверки поддержки сервером ALPN (требуется OpenSSL 1.0.2+) для переключения на HTTP/2 - KEYCDN
Сервис для проверки установленного сертификата - SSLSHOPEER
Сервис для проверки установленного сертификата - QUALYS SSL LABS
Сервис для мониторинга доступности сайта - HOST-TRACKER