$page->urls() method

Return all URLs that this page can be accessed from (excluding URL segments and pagination)

This includes the current page URL, any other language URLs (for which page is active), and any past (historical) URLs the page was previously available at (which will redirect to it).

  • Returned URLs do not include additional URL segments or pagination numbers.
  • Returned URLs are indexed by language name, i.e. “default”, “fr”, “es”, etc.
  • If multi-language URLs not installed, then index is just “default”.
  • Past URLs are indexed by language; then ISO-8601 date, i.e. “default;2016-08-11T07:44:43-04:00”, where the date represents the last date that URL was considered current.
  • If PagePathHistory core module is not installed then past/historical URLs are excluded.
  • You can disable past/historical or multi-language URLs by using the $options argument.

Available since version 3.0.107.

Usage

// basic usage
$array = $page->urls();

// usage with all arguments
$array = $page->urls(array $options = []);

Arguments

NameType(s)Description
options (optional)array

Options to modify default behavior:

  • http (bool): Make URLs include current scheme and hostname (default=false).
  • past (bool): Include past/historical URLs? (default=true)
  • languages (bool): Include other language URLs when supported/available? (default=true).
  • language (Language|int|string): Include only URLs for this language (default=null). Note: the languages option must be true if using the language option.

Return value

array

See Also


$page methods and properties

API reference based on ProcessWire core version 3.0.130

Twitter updates

  • New post: Quietly and without interruption this week, the ProcessWire.com website (and all subdomains) moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before— More
    19 April 2019
  • New post: With ProcessWire 3.0.130, this week we’ll take a detailed look at a few useful new API additions made in the last few weeks, along with examples of each—More
    12 April 2019
  • New post: This week ProcessWire ProMailer has been released, plus we’ve got a nice upgrade in our community support forum, and more— More
    15 March 2019

Latest news

  • ProcessWire Weekly #258
    In the 258th issue of ProcessWire Weekly we'll cover a hosting upgrade for the processwire.com site and it's subdomains, introduce PW Review and Terminal module, and feature the new site of O'Neil Cinema. Read on!
    Weekly.pw / 20 April 2019
  • ProcessWire.com website hosting upgrades
    Quietly and without interruption this week, our whole website moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before.
    Blog / 19 April 2019
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani