HTTPS и бесконечный редирект Joomla
На некоторых хостингах при включении HTTPS в Joomla возникает циклическая переадресация или бесконечный редирект.
есть два варианта решения проблемы:
1. вариант: .htaccess
в файле .htaccess после строки
RewriteEngine On
нужно добавить следующий код:
RewriteCond %{HTTP:X-FORWARDED-PROTO} ^https$
RewriteRule .? - [E=HTTPS:on]
Для таймвеба код должен быть такой:
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]
Важно:
метод испытан и успешно работает в режиме PHP как FastCGI
в режиме PHP как CGI это не работает, т.к. переменная окружения не добавляется
Еще один способ этого же варианта, еще короче:
SetEnvIf X-Forwarded-Proto https HTTPS=on
2 вариант
Если у вас нет возможности использовать FastCGI, тогда поможет это:
В файле /libraries/joomla/uri/uri.php заменить строку:
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
на:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
патч нужно применять после каждого обновления