После долгих раздумий о целесообразности и выгоды для сайта, которую принесет переход на SSL протокол вместо стандартного HTTP без шифрования, я все таки решил перевести один ресурс на зашифрованное соединение с сервером. Поводом было хорошее ранжирование в Google и доверие Яндекса. Насколько это оправдало себя покажет время.
И так, сертификат куплен, установлен, сервер настроен. Теперь надо все запросы перенаправить на https. Вроде проблем никаких не должно возникнуть с редиректом в .htaccess. Но! Если у вас работает сервер под управлением ISPManager в связке с Nginx и Apache то вы получите цикличные перенаправления.
Смотрим пример:RewriteEngine On RewriteCond %{HTTPS} =off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Читаем документацию, Google в помощь и приводим правила к следующему виду:
RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Мы добавили просто одну строку в существующее правило redirect
RewriteCond %{HTTP:X-Forwarded-Proto} !httpsИ напоследок исключаем из правила редиректа файл robots.txt, иначе в панели вебмастера Яндекса вы увидите Сервер отвечает редиректом на запрос /robots.txt
На этом вопрос решен, сервер отдает правильный заголовок:RewriteEngine off
HTTP/1.1 301 Moved Permanently Server: nginx/1.8.0 Date: Tue, 06 Dec 2016 08:09:33 GMT Content-Type: text/html; charset=iso-8859-1 Connection: keep-alive Location: https://art-apple.ru/ Vary: Accept-Encoding Strict-Transport-Security: max-age=15768000 HTTP/1.1 200 OK Server: nginx/1.8.0 Date: Tue, 06 Dec 2016 08:09:36 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive X-Powered-By: PHP/5.3.10 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding Strict-Transport-Security: max-age=15768000