У нас есть несколько сайтов на Joomla. Ниже приведены подробности.
Я установил переменную Live Site в конфигурации Joomla на https://sub.mydomain.co.in. Когда я просматриваю сайт с https://sub.mydomain.co.in или http://sub.mydomain.com, он отлично работает. Но я бы хотел принудительно направить все запросы на https: //.
Я пытался добиться этого с помощью
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Но ничего не работает, когда я использую один из этих двух браузеров, говорит Эта страница имеет цикл перенаправления. Я еще немного покопался, чтобы посмотреть, происходит ли перенаправление из каких-либо других мест, например.
Но нет такого кода / плагина, который вызывает цикл перенаправления.
Кто-нибудь может помочь?
Заранее спасибо.
Вы проверяете неправильную переменную в своем условии перезаписи.
Поскольку вы используете Amazon Elastic Load Balancer для завершения сеансов SSL, Apache в вашем экземпляре не знает, что они поступили через HTTPS, и не устанавливает HTTPS.
ELB устанавливает заголовок X-Forwarded-Proto к http
или https
в зависимости от того, как был получен запрос. Вместо этого вы можете проверить этот заголовок, чтобы выполнить перенаправление.
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]