Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 38 Ответов
  • 10985 Просмотров
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
для таймвеба кусок кода должен выглядеть так:
Код
if (isset($_SERVER['HTTP_X_HTTPS']) && $_SERVER['HTTP_X_HTTPS']== 1) {
$https = 's://';
} else {
$https = '://';
}
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
еще один вариант решения проблемы с бесконечной переадресацией Nginx + Apache

этот способ не требует вмешательства в php файлы Joomla, а значит все будет работать после обновлений

в файле .htaccess после строки
Код
RewriteEngine On
добавьте
Код
RewriteCond %{HTTP:X-FORWARDED-PROTO} ^https$
RewriteRule .? - [E=HTTPS:on]

Для таймвеба код должен быть такой:
Код
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]

Важно:
метод испытан и успешно работает в режиме FastCGI
в режиме CGI это не работает, т.к. переменная окружения не добавляется

PHP как модуль apache - я не тестировал, нет возможности. Если у вас есть возможность - отпишитесь

P.S.
Пользователь dmitry_stas предложил вариант еще короче:
Код
SetEnvIf X-Forwarded-Proto https HTTPS=on
« Последнее редактирование: 20.10.2016, 18:09:40 от denverkurt »
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
но в этом случае принудительно все ссылки преобразуются в https
в некоторых случаях это может быть нежелательно
Работает метод..
А некостыльные аналоги есть?
*

Ivan63

  • Осваиваюсь на форуме
  • 15
  • 2 / 0

Для таймвеба код должен быть такой:
Код
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]

Важно:
метод испытан и успешно работает в режиме FastCGI
в режиме CGI это не работает, т.к. переменная окружения не добавляется

PHP как модуль apache - я не тестировал, нет возможности. Если у вас есть возможность - отпишитесь

P.S.
Пользователь dmitry_stas предложил вариант еще короче:
Код
SetEnvIf X-Forwarded-Proto https HTTPS=on

Для таймвеба в .htaccess прописать
Код
SetEnvIf X-HTTPS 1 HTTPS
Описано в оффициальном хелпнике
*

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Попробуйте применить этот фикс
https://github.com/joomla/joomla-cms/pull/7902/files
Спасибо! Уже на втором моем сайте на Joomla, который я перевожу на защищенный режим помог именно этот хак. Вопрос: почему такое типичное действие у меня не происходит стандартными методами работы с Joomla?
Заметил такую особенность. Сие действие не требуется, если я устанавливаю сертификат безопасности для сайта средствами самого сервера. То есть устанавливаю его на сервер.
Всем же сайтам, которые я перевожу на https с помощью CDN cloudflare возникает такая проблема, которую я решаю подобным образом. Да, и на всякий случай: данный хак работает только с установленным параметров living_site
« Последнее редактирование: 01.02.2017, 15:26:09 от Ренат »
*

smls

  • Захожу иногда
  • 137
  • 8 / 1
А если вообще протокол вырезать? Он там обязателен в base?
Код
$base = preg_replace('/http:/', '', $base );
*

Gedonist

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Нашел сегодня решение этой проблемы (неправильный base href), которое не требует вмешательства ни в ядро joomla, ни в htaccess.
Открываем свою тему, открываем файл index.php
Добавляем этот код:

Код
<?php
$doc = JFactory::getDocument();
unset($doc->base);
?>

Всё...
*

Petrovich

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
еще один вариант решения проблемы с бесконечной переадресацией Nginx + Apache

этот способ не требует вмешательства в php файлы Joomla, а значит все будет работать после обновлений

в файле .htaccess после строки
Код
RewriteEngine On
добавьте
Код
RewriteCond %{HTTP:X-FORWARDED-PROTO} ^https$
RewriteRule .? - [E=HTTPS:on]

Для таймвеба код должен быть такой:
Код
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]

Важно:
метод испытан и успешно работает в режиме FastCGI
в режиме CGI это не работает, т.к. переменная окружения не добавляется

PHP как модуль apache - я не тестировал, нет возможности. Если у вас есть возможность - отпишитесь

P.S.
Пользователь dmitry_stas предложил вариант еще короче:
Код
SetEnvIf X-Forwarded-Proto https HTTPS=on

Отлично ! Спасибо большое за умное решение !
Подтверждаю
PHP как модуль apache  - РАБОТАЕТ!
*

Petrovich

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Заметил такую особенность. Сие действие не требуется, если я устанавливаю сертификат безопасности для сайта средствами самого сервера. То есть устанавливаю его на сервер.
Всем же сайтам, которые я перевожу на https с помощью CDN cloudflare возникает такая проблема .... 

Кстати... у меня тоже только  с  CDN cloudflare такие проблемы...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с SP Page Buildier

Автор Aleksey1982

Ответов: 20
Просмотров: 3980
Последний ответ 10.11.2023, 20:13:53
от Шмайсер
Проблема с почтой сайта на Joomla

Автор dima567

Ответов: 1
Просмотров: 672
Последний ответ 16.09.2023, 09:44:41
от sivers
Update: :Extension: Не удалось открыть https://update.joomla.org/core/sts/extension_sts.xml

Автор RazarioAgro

Ответов: 15
Просмотров: 7381
Последний ответ 04.09.2023, 16:55:30
от beliyadm
Какая то проблема с языками?

Автор peklor

Ответов: 1
Просмотров: 700
Последний ответ 14.12.2022, 23:44:09
от peklor
Обновление с 2.5.28 до 3.x - проблема

Автор romagromov

Ответов: 2
Просмотров: 630
Последний ответ 05.05.2022, 05:02:52
от Cherr23