connect_errno) { header("500 Internal Server Error"); die($SQL['Handle']->connect_errno." ".$SQL['Handle']->connect_error); } } { // Prepare a few statements. $STATEMENTS = array(); $STATEMENTS["LookUp"] = << $v) { $STATEMENTS[$k] = $SQL['Handle']->prepare($v); } } { // Try and redirect user according to the full provided URI $url = urldecode($_SERVER['REQUEST_URI']); $url_parts = parse_url($url); // Try and identify a redirect by the full URI. $STATEMENTS['LookUp']->bind_param('s', $url); if (!$STATEMENTS['LookUp']->execute()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } else { $res = $STATEMENTS['LookUp']->get_result(); if ($res->num_rows != 0) { while($obj = $res->fetch_object()) { if ($obj->target != null) { header("Location: ".$obj->target, true, 307); $res->close(); die(); } } } else { $STATEMENTS['Insert']->bind_param('s', $url); if (!$STATEMENTS['Insert']->execute()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } else if (!$STATEMENTS['Insert']->get_result()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } } $res->close(); } // Try and identify a redirect by the path. $STATEMENTS['LookUp']->bind_param('s', $url_parts->path); if (!$STATEMENTS['LookUp']->execute()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } else { $res = $STATEMENTS['LookUp']->get_result(); if ($res->num_rows != 0) { while($obj = $res->fetch_object()) { if ($obj->target != null) { header("Location: ".$obj->target, true, 307); $res->close(); die(); } } } else { $STATEMENTS['Insert']->bind_param('s', $url_parts->path); if (!$STATEMENTS['Insert']->execute()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } else if (!$STATEMENTS['Insert']->get_result()) { header("Service Unavailable", true, 503); header("Retry-After: 30", true); die($SQL['Handle']->errno." ".$SQL['Handle']->error); } } $res->close(); } // In all other cases, just redirect to 404. header("Location: https://www.xaymar.com/404.html"); } die();