julienmonnerie/kirby/router.php

16 lines
560 B
PHP
Raw Normal View History

2022-06-17 17:51:59 +02:00
<?php
2025-04-21 18:57:21 +02:00
// prepend a fake host to ensure that PHP can parse the path even if it contains weird stuff;
// afterwards just take the plain path back out from the parsed result
$uri = parse_url('https://getkirby.com/' . ltrim($_SERVER['REQUEST_URI'], '/'), PHP_URL_PATH) ?? '/';
$uri = urldecode($uri);
2022-06-17 17:51:59 +02:00
// Emulate Apache's `mod_rewrite` functionality
2025-04-21 18:57:21 +02:00
if ($uri !== '/' && file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . ltrim($uri, '/'))) {
2022-08-31 15:02:43 +02:00
return false;
2022-06-17 17:51:59 +02:00
}
$_SERVER['SCRIPT_NAME'] = '/index.php';
require $_SERVER['DOCUMENT_ROOT'] . '/' . $_SERVER['SCRIPT_NAME'];