public static function getRequestUri() { if (self::$requestUri === null) { if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { self::$requestUri = $_SERVER['HTTP_X_REWRITE_URL']; } elseif (isset($_SERVER['REQUEST_URI'])) { self::$requestUri = $_SERVER['REQUEST_URI']; if (!empty($_SERVER['HTTP_HOST'])) { if (strpos(self::$requestUri, $_SERVER['HTTP_HOST']) !== false) { self::$requestUri = preg_replace('/^\\w+:\\/\\/[^\\/]+/', '', self::$requestUri); } } else { self::$requestUri = preg_replace('/^(http|https):\\/\\/[^\\/]+/i', '', self::$requestUri); } } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { self::$requestUri = $_SERVER['ORIG_PATH_INFO']; if (!empty($_SERVER['QUERY_STRING'])) { self::$requestUri .= '?' . $_SERVER['QUERY_STRING']; } } else { throw new Exception('FW is unable to determine the request URI.'); } } return self::$requestUri; }