PHP
(without a database)
PROTOCOL echo isset($_SERVER["HTTPS"]) ? "https://" : "http://";
PORT echo $_SERVER["SERVER_PORT"];
HOST echo $_SERVER["HTTP_HOST"];
PATH + FILE + QUERY echo $_SERVER["REQUEST_URI"];
QUERY STRING echo $_SERVER["QUERY_STRING"];
FULL URL (WITH QUERY STRING) $full = (isset($_SERVER["HTTPS"]) ? "https://" : "http://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; REMOVE QUERY STRING $full = strtok($full, "?");
PROTOCOL + DOMAIN $host = isset($_SERVER["HTTPS"]) ? "https://" : "http://" . $_SERVER["HTTP_HOST"] ;
PATH ONLY $path = parse_url( $_SERVER["REQUEST_URI"], PHP_URL_PATH );
FILENAME ONLY $file = basename( $_SERVER["REQUEST_URI"], "?". $_SERVER["QUERY_STRING"]);
PATH + FILE $filepath = strtok($_SERVER ["REQUEST_URI"], "?");