run route.php when grav is not at the root of the server (#2541)

This commit is contained in:
ale rimoldi
2019-08-12 23:11:41 +02:00
committed by Andy Miller
parent 618a59921a
commit aa8f764436

View File

@@ -17,11 +17,25 @@ if (is_file($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SERVER['SCRIPT_N
return false;
}
$gravBasedir = getenv('GRAV_BASEDIR');
if ($gravBasedir === false) {
$gravBasedir = '';
} else {
$gravBasedir = DIRECTORY_SEPARATOR . trim($gravBasedir, DIRECTORY_SEPARATOR);
// tell system/defines.php not to use the default GRAV_ROOT
define('GRAV_ROOT', str_replace(DIRECTORY_SEPARATOR, '/', getcwd()). $gravBasedir);
}
$_SERVER = array_merge($_SERVER, $_ENV);
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . $gravBasedir .DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_NAME'] = $gravBasedir . DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['PHP_SELF'] = $gravBasedir . DIRECTORY_SEPARATOR . 'index.php';
error_log(sprintf('%s:%d [%d]: %s', $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_PORT'], http_response_code(), $_SERVER['REQUEST_URI']), 4);
require 'index.php';
if ($gravBasedir === '') {
require 'index.php';
} else {
require ltrim($gravBasedir, '/') . DIRECTORY_SEPARATOR . 'index.php';
}