<?php function initRouter(): bool { global $routerRequest; global $routerConfig; $routerRequest["requestAddress"] = array_slice(explode('.', $_SERVER['HTTP_HOST']), -3, 3); //get the last 3 elements $needsRedirect = false; if(count($routerRequest["requestAddress"]) < 3){ // Root domain accessed directly $needsRedirect = true; $routerRequest["subdomain"] = $routerConfig["default_site"]; $routerRequest["domain"] = basename($routerRequest["requestAddress"][0]); $routerRequest["tld"] = basename($routerRequest["requestAddress"][1]); } else { $routerRequest["subdomain"] = basename($routerRequest["requestAddress"][0]); $routerRequest["domain"] = basename($routerRequest["requestAddress"][1]); $routerRequest["tld"] = basename($routerRequest["requestAddress"][2]); $routerRequest["page_name"] = basename($_SERVER["QUERY_STRING"]); if (empty($routerRequest["page_name"])) { // Page name is empty $needsRedirect = true; $routerRequest["page_name"] = $routerConfig["default_page"]; } } if ($needsRedirect) { $redirectAddress = $routerConfig["protocol"] . $routerRequest["subdomain"] . "." . $routerRequest["domain"] . "." . $routerRequest["tld"] . "/" . $routerRequest["page_name"]; // Redirect with default page name header("Location: $redirectAddress"); } else{ if($_SERVER["REQUEST_METHOD"] == "POST"){ $routerRequest["type"] = "api"; } if(empty($routerRequest["type"])){ $routerRequest["type"] = "page"; } } return !$needsRedirect; }