$input->url() method

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

  • This should be the same as $page->url 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->url(); 
$url = $sanitizer->entities($url); // entity encode for output
echo "You accessed this page at: $url";

Usage

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

// usage with all arguments
$string = $input->url($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)
  • pageNum (int): Override current pagination number with this one, 1 to exclude pageNum, 0 for no override (default=0). 3.0.169+

Return value

string

See Also


$input methods and properties

API reference based on ProcessWire core version 3.0.248

Latest news

  • ProcessWire Weekly #574
    The 574th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 10 May 2025
  • New ProcessWire admin redesign
    When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
    Blog / 9 May 2025
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull