Ich versuche gerade die constants.php zu verbessern brauche dafür aber Testergebnisse von verschiedenen Testumgebungen.
Wichtig wären Tests mit SSL-Proxies, Normale Proxies, VMs, (Docker-)Container, ...
Bei "$g_root_path" die übliche URL eintragen.
Einfach den code in eine test.php auf den Server packen. In das root Verzeichnis von Admidio. Also das es mit "https://www.example.com/admidio/test.php" aufgerufen werden kann.
Anschließen bitte die eingegebene $g_root_path url und den angezeigten string (JSON) mir per PM schicken oder in anonymisierter form hier im posten.
Meine Befürchtung ist dass es mit FILE_URL und CURRENT_URL noch Probleme gibt.
Danke!
Code: Alles auswählen
<?php
$g_root_path = 'https://www.example.com/admidio';
// https://www.example.org:1234/subfolder/adm_program/index.php?param=value#fragment
// https://www.myproxy.com:1234/www.example.com/subfolder/adm_program/index.php?param=value#fragment
$urlComponents = parse_url($g_root_path);
define('SCHEME', $urlComponents['scheme']); // http | https
define('PORT', $urlComponents['port']); // 1234
define('URL_DIR', $urlComponents['path']); // /subfolder | /www.example.com/subfolder
define('DOMAIN', $urlComponents['host']); // www.example.org | www.myproxy.com
define('HOST', DOMAIN . ((PORT === null) ? '' : ':' . PORT)); // www.example.org:1234 | www.myproxy.com:1234
define('ORIGIN', SCHEME . '://' . HOST); // https://www.example.org:1234 | https://www.myproxy.com:1234
define('HTTPS', SCHEME === 'https'); // true | false
// URLS
define('ADMIDIO_URL', ORIGIN . URL_DIR); // https://www.example.org:1234/subfolder | https://www.myproxy.com:1234/www.example.com/subfolder
define('FILE_URL', ORIGIN . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); // https://www.example.org:1234/subfolder/adm_program/index.php
define('CURRENT_URL', ADMIDIO_URL . $_SERVER['REQUEST_URI']); // https://www.example.org:1234/subfolder/adm_program/index.php?param=value#fragment
echo json_encode(array(
'SCHEME' => SCHEME,
'PORT' => PORT,
'URL_DIR' => URL_DIR,
'DOMAIN' => DOMAIN,
'HOST' => HOST,
'ORIGIN' => ORIGIN,
'HTTPS' => HTTPS,
'ADMIDIO_URL' => ADMIDIO_URL,
'FILE_URL' => FILE_URL,
'CURRENT_URL' => CURRENT_URL
));