$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.236

Latest news

  • ProcessWire Weekly #553
    In the 553rd issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a new third party module called Text Synthesis, and more. Read on!
    Weekly.pw / 14 December 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH