Фреймворк Webasyst определяет факты обращения к серверу по HTTPS при помощи метода waRequest::isHttps()
. Этот метод учитывает значения переменных из массива $_SERVER
.
Если на сервере используется нестандартный набор переменных или их значений, то фреймворк может ошибаться в определении подключений через HTTPS. Из-за этого неправильно формируются абсолютные адреса ссылок и не работают редиректы.
Если нельзя адаптировать конфигурацию веб-сервера под логику метода waRequest::isHttps()
, то можно адаптировать фреймворк под набор переменных веб-сервера. Для этого в файле wa-config/SystemConfig.class.php
добавьте в класс SystemConfig
публичный метод init()
, как показано в примере.
class SystemConfig extends waSystemConfig { public function init() { // Обязательный вызов метода родительского класса! parent::init(); // Опишите логику определения подключения через HTTPS // для своего сервера $https_condition = /* ... */; if ($https_condition) { // При положительном значении переменной 'HTTP_X_HTTPS' // фреймворк "считает", что к серверу обращаются через HTTPS. // См. код метода waRequest::isHttps(). $_SERVER['HTTP_X_HTTPS'] = true; } } }