Я знаю, что этот вопрос старый и на него отвечали несколько раз, но есть еще один вариант, который еще не был предложен.
Вы можете полностью отключить его:
// Disable SecurePages completely.
$conf['securepages_enable'] = FALSE;
и измените settings.php для принудительного применения HTTPS в зависимости от некоторого контекста, например:
if (isset($_SERVER['environment'] && $_SERVER['environment'] == 'staging')) {
$conf['securepages_basepath'] = 'http://staging.example.com';
$conf['securepages_basepath_ssl'] = 'https://staging.example.com';
} else if (isset($_SERVER['environment'] && $_SERVER['environment'] == 'production')) {
$conf['securepages_basepath'] = 'http://www.example.com';
$conf['securepages_basepath_ssl'] = 'https://www.example.com';
} else {
// We're on dev or some other server instance where SSL isn't needed.
$conf['securepages_enable'] = FALSE;
}
Это всего лишь пример, но это был полезный способ для нас управлять сайтами, которые существуют на сервере разработки, QAсервер и производственный сервер, где мы хотим отслеживать изменения settings.php в управлении версиями без необходимости что-либо менять в каждой среде.