mirror of
https://github.com/getgrav/grav.git
synced 2025-12-05 15:29:57 +01:00
run route.php when grav is not at the root of the server (#2541)
This commit is contained in:
@@ -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';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user