From 33d7a0436bd81d6f54ff8a53c4cb4bc06c256671 Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 27 Mar 2020 22:32:10 +0100 Subject: [PATCH] Fix when HTTP_HOST is not set Can happen on some old versions of HTTP protocol --- common.php | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/common.php b/common.php index 2d875939..c0fac2ff 100644 --- a/common.php +++ b/common.php @@ -95,17 +95,23 @@ for($i = 1; $i < $size; $i++) $basedir = str_replace(array('/admin', '/install'), '', $basedir); define('BASE_DIR', $basedir); -if(isset($_SERVER['HTTP_HOST'])) { - if (isset($_SERVER['HTTPS'][0]) && $_SERVER['HTTPS'] === 'on') - define('SERVER_URL', 'https://' . $_SERVER['HTTP_HOST']); - else - define('SERVER_URL', 'http://' . $_SERVER['HTTP_HOST']); - - define('BASE_URL', SERVER_URL . BASE_DIR . '/'); - define('ADMIN_URL', SERVER_URL . BASE_DIR . '/admin/'); - - //define('CURRENT_URL', BASE_URL . $_SERVER['REQUEST_URI']); +if(isset($_SERVER['HTTP_HOST'][0])) { + $baseHost = $_SERVER['HTTP_HOST']; } +else { + if(isset($_SERVER['SERVER_NAME'][0])) { + $baseHost = $_SERVER['SERVER_NAME']; + } + else { + $baseHost = $_SERVER['SERVER_ADDR']; + } +} + +define('SERVER_URL', 'http' . (isset($_SERVER['HTTPS'][0]) && strtolower($_SERVER['HTTPS']) === 'on' ? 's' : '') . '://' . $baseHost); +define('BASE_URL', SERVER_URL . BASE_DIR . '/'); +define('ADMIN_URL', SERVER_URL . BASE_DIR . '/admin/'); + +//define('CURRENT_URL', BASE_URL . $_SERVER['REQUEST_URI']); require SYSTEM . 'exception.php'; require SYSTEM . 'autoload.php';