Участвуй в конкурсе сайтов
Получи профессиональную оценку сайта и
награду за дизайн, контент или технологичность

Joomla 3.6 как настроить редирект с HTTP на HTTPS

8 ответов

Здравствуйте. Подключил бесплатный ssl сертификат от Let’s Encrypt. Сайт открывается и работает по https все настроил все хорошо. Так же сайт открывается и по http. Как настроить редирект с HTTP на HTTPS. Сайт работает на Joomla 3.6.4. В интернете находил варианты как это реализовать. Нужно в файл .htaccess прописать.

1 Вариант.

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

После добавления этих строк сайт перестает работать появляется ошибка "Сайт .... выполнил переадресацию слишком много раз.

2 Вариант 

RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

После добавления этих строк сайт работает но редиректа с HTTP на HTTPS нет.

Как сделать? Спасибо!

Ответы (8)

Alexey Zhukov +22
06.12.2016 21:50
Может там как-то не сразу такая переадресация начинает работать? Что-то там где-то какие-то пути устанавливаются, чтобы ресурс полностью перешёл под секьюр коннекшн.
Свернуть ответы
Alexey Zhukov +22
06.12.2016 21:52
А что техподдержка говорит?
Alexey Zhukov +22
06.12.2016 21:59
А в настройках сайта включено "использовать безопасное соединение https://"?
Свернуть ответы
В тех поддержку пока не писал. Сейчас сайт работает и по HTTP и по HTTPS. В настройках самой Joomla стоит "Включить SSL" . Если я в панели хостинга настройка сайта ставлю " использовать безопасное соединение https://" то сайт не работает. При добавлении в .htaccess любого варианта редиректа происходит циклическая переадресация. "Сайт .... выполнил переадресацию слишком много раз.. Нет конкретной инструкции под Joomla. ( Напишу в техподдержку может там, что подскажут.
Alexey Zhukov +22
06.12.2016 23:03
Я бы ещё попробовал отключить в джумле "Включить SSL", а в ПУ включить "использовать безопасное соединение https://".
Матвей +5
07.12.2016 11:14
Обычно 2 действий достаточно:
1. Внедряем в .htaccess директиву: SetEnvIf X-HTTPS 1 HTTPS
2. Подключаем в админке сайта форсирование запросов на HTTPS.
Свернуть ответы
Делаю как Вы написали, сайт не работает вообще.
Сайт ........ ru пока не может обработать этот запрос.
Отключаю в джумле "Включить SSL" а в ПУ включаю "использовать безопасное соединение https://". результат.
Сайт ........ ru пока не может обработать этот запрос. (((
08.12.2016 0:02 Ну вот и все!
После 2 дней колдовства и шаманства проблема решена. Если у кого возникнет проблема на Joomla 3.6. с редиректом с HTTP на HTTPS вот, что мне помогло:
1. Joomla - админка - Настройки сервера - Включить SSL - выбираем Весь сайт
2. Открываем файл configuration.php в строке (public $live_site = '';) пишем адрес сайта через https:// так (public $live_site = 'https:// ... ru';)
3. Открываем файл .htaccess
дописываем строки
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]
Все сайт работает по https:// при заходе на сайт или любую страницу по http:// произойдет редирект и страница откроется по https://.

Чтоб сайт работал по 2 протоколам сразу без редиректа
Выполняем 2 пункта из трех далее открываем файл /public_html/libraries/joomla/uri/uri.php
Ищем 66 строку там
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off'))
{
$https = 's://';
}
else
{
$https = '://';
}
Меняем на
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off'))
{
$https = 's://';
}
else
{
$https = 's://';
}
сайт будет работать по 2 протоколам сразу. Но после обновления Joomla придется опять редактировать файл uri.php
Так, что лучше первым способом.
Техподдержка ответила, что редирект включить не получается потому что ошибка в коде сайта.
Спасибо всем кто пытался помочь.

Похожие вопросы

Виталий Лошков
404

Требуется помощь, консультация, настройка

При выполнении команды конвертации файла в odt из PHP-скрипта: system ("sudo -u root unoconv -f docx file.odt"); время от времени (может раз в день, может раз в неделю) команда перестает работать, при этом ответ от PHP-скрипта никакой не приходит. Лечится...
Евгений
453

Как выставить заголовки expires

Пробовал в htaccess прописать   <ifModule mod_deflate.c>     AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript </ifModule> <ifModule...
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте