$input->httpUrl() method

Get the http URL that initiated the current request, including scheme, URL segments and page numbers

  • This should be the same as $page->httpUrl except that it includes URL segments and page numbers, when present.

  • Note that this does not include query string unless requested (see arguments).

  • WARNING: if query string requested, it can contain undefined/unsanitized user input. If you use it for output make sure that you entity encode first (by running through $sanitizer->entities() for instance).

Example

$url = $input->httpUrl();
$url = $sanitizer->entities($url); // entity encode for output
echo "You accessed this page at: $url";

Usage

// basic usage
$string = $input->httpUrl();

// usage with all arguments
$string = $input->httpUrl($options = []);

Arguments

NameType(s)Description
options (optional)array, bool

Specify withQueryString (bool) option, or in 3.0.167+ you can also use an options array:

  • withQueryString (bool): Include the query string as well? (if present, default=false)
  • page (Page): Page object to use, if different from $page (default=$page)

Return value

string

See Also


$input methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #558
    In the 558th issue of ProcessWire Weekly we'll check out the blog post that introduces ProcessWire 3.0.244, share some recent ProcessWire highlights, and more. Read on!
    Weekly.pw / 18 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer