From af2f4b66b915870d49f7cf82e1da9c7edac98420 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Mon, 18 Jan 2021 20:38:58 +0200 Subject: [PATCH] Fixed `ERR_TOO_MANY_REDIRECTS` with HTTPS = 'On' [#3155] --- CHANGELOG.md | 1 + system/src/Grav/Common/Service/PagesServiceProvider.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcee3d36b..b35618bf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ * Fixed multiple issues with `system.language.translations: false` * Fixed page collections containing dummy items for untranslated default language [#2985](https://github.com/getgrav/grav/issues/2985) * Fixed streams in `setup.php` being overridden by `system/streams.yaml` [#2450](https://github.com/getgrav/grav/issues/2450) + * Fixed `ERR_TOO_MANY_REDIRECTS` with HTTPS = 'On' [#3155](https://github.com/getgrav/grav/issues/3155) # v1.7.0-rc.20 ## 12/15/2020 diff --git a/system/src/Grav/Common/Service/PagesServiceProvider.php b/system/src/Grav/Common/Service/PagesServiceProvider.php index 4b04ae6d0..836598cfe 100644 --- a/system/src/Grav/Common/Service/PagesServiceProvider.php +++ b/system/src/Grav/Common/Service/PagesServiceProvider.php @@ -70,7 +70,8 @@ class PagesServiceProvider implements ServiceProviderInterface } if ($config->get('system.force_ssl')) { - if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') { + $scheme = $uri->scheme(true); + if ($scheme !== 'https') { $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $grav->redirect($url); }