This commit is contained in:
2024-01-16 21:31:19 +01:00
parent 77ec0423fb
commit 372f42749c
3 changed files with 13 additions and 23 deletions

View File

@@ -1,19 +1,10 @@
<?php
function getProtocol(){
if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
return "https://";
} else {
/** @noinspection HttpUrlsUsage */
return "http://";
}
}
function initRouter(){
global $routerRequest;
global $routerConfig;
$routerRequest["protocol"] = getProtocol();
$routerRequest["requestAddress"] = array_slice(explode('.', $_SERVER['HTTP_HOST']), -3, 3); //get the last 3 elements
$needsRedirect = false;
@@ -21,6 +12,11 @@ function initRouter(){
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]);
@@ -28,25 +24,17 @@ function initRouter(){
$routerRequest["page_name"] = basename($_SERVER["QUERY_STRING"]);
if (empty($routerRequest["subdomain"])) {
// Subdomain is missing
$needsRedirect = true;
} elseif (empty($routerRequest["page_name"])) {
if (empty($routerRequest["page_name"])) {
// Page name is empty
$needsRedirect = true;
$routerRequest["page_name"] = $routerConfig["default_page"];
}
}
if ($needsRedirect) {
$redirectAddress = implode('.', $routerRequest["requestAddress"]);
if (empty($routerRequest["page_name"])) {
// Redirect without page name
header("Location: " . $routerRequest["protocol"] . $redirectAddress . "/");
} else {
// Redirect with default page name
header("Location: " . $routerRequest["protocol"] . $redirectAddress . "/" . $routerConfig["default_page"]);
}
exit; // Ensure that the script stops execution after the redirect header
// Redirect with default page name
header("Location: " . $routerConfig["protocol"] . $redirectAddress . "/" . $routerRequest["page_name"]);
}
return !$needsRedirect;