Как правильно подключить https

Купил ssl, подключаю его к сайту — все успешно.
В конфигах (config.php и сonfig.local.php) прописал с http на https
сайт стал работать и на http и на https.
Но ведь у меня есть нttps, зачем мне просто (какой то холопский) http?
Пытался в .htaccess прописать редирект c http на https, а он мне про цикличность, вечную переадресацию.
в 2 cfg менял:
$config['path']['root']['web']

и в 1 и во втором.
в штакете:
RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Кто сталкивался — HELP ME.

11 комментариев

avatar
Есть плагин в каталоге catalog.livestreetcms.com/addon/view/396/
avatar
Данный плагин позволяет зайти пользователю по протоколу https — но не делает редирект на него.
avatar
Мне помогло это
avatar
Если первый вариант не помогает:
RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

то можно воспользоваться вторым:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
  • MTv
  • 0
avatar
Может кому пригодится, сам я мучился с этим очень долго, и решилась проблема так.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://site.ru/$1 [L,R=301]
avatar
Подниму тему.
Перенес сайт от одного провайдера к другому и не получается настроить редирект http на https. Сайт уходит в вечную переадресацию, несмотря на то, что у другого провайдера такой файл htaccess работал верно.

Это был вариант, который работал у предыдущего провайдера:
AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On
#редирект с http на https
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php

Эти варианты пробовал вместо 2 команд, которые идут после комментария: #редирект с http на https

1) c этим не работает меню (ошибка 404)
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* %{SERVER_NAME}%{REQUEST_URI} [R,L]

2)
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ ishopper.by/$1 [L,R=301]

3) RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ ishopper.by/$1 [R=301,L]

4)
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ ishopper.by/ [R=301,L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ ishopper.by/$1 [R=301,L]

5)
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Начал уже задумываться, может сделать в лоб, если идет запрос с http, просто всегда перекидывать на начальную страницу с https. Но все-таки хочется сделать нормальный вариант.

Может кто-нибудь подсказать вариант решения?
Сейчас пока команды с переходом http -> https отключены
avatar
Откопал совсем старый вариант настройки. Вроде он помог:
RewriteCond %{HTTP:SSL}!=1 [NC]
RewriteRule ^(.*)$ ishopper.by/$1 [L,R=301]

и убрал точку в:
RewriteRule ^(.*)$ /index.php
avatar
Пропустил — это тот же вариант 2. Но есть минус. Редиректит http -> https только начальную страницу.
avatar
Рано обрадовался. Никуда ничего не переадресуется…
avatar
Вопрос решил. На хостинге active.by переадресация так и не заработала, на reg.ru все заработало без проблем.
avatar
мне помогло вот это
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* %{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.