Категория:
Опубликовано:

Некоторые ошибки после перехода на HTTPS

Некоторые ошибки после перехода на HTTPS

Бывают сложности с переводом сайтов на HTTPS, например могут не грузится стили сайта.

Ниже приведу пример решения проблемы (работоспособность идеи проверялась на серверах с Apache/Nginx)

Итак. Для решения данной проблемы достаточно открыть файл настроек сайта (обычно - sites/default/settings.php), найти в нем закомментированную строку с переменной "$base_url", и раскомментировать ее, присвоив в качестве значения - адрес сайта без завершающего слеша и начинающийся с протокола https:

$base_url = 'https://www.example.com';

Так же, бывают случаи, когда необходима работа обеих версий сайта (и http, и https).

Для этого, в переменную нужно записать адрес сайта с протоколом http, и добавить небольшой "финт", меняющий протокол если на сайт зашли по защищенной версии:

$base_url = 'http://www.example.com';

if ( (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || $_SERVER['SERVER_PORT'] == 443 
  ) {
  $base_url = str_replace( "http://", "https://", $base_url );
}

Проделанный нами "финт" проверяет элементы массива HTTPS и SERVER_PORT суперглобальной переменной $_SERVER, с помощью которых можно достаточно кросс-серверно (если такое понятие существует) определить текущий протокол.

Не исключаю возможность того что метод не сработает, при каких-либо экзотических конфигах сервера, а так же на серверах отличных от Apache/Nginx. Но большинство Drupal-сайтов работают на вариациях именно этих платформ.

Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.
Добавить комментарий