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

Twitter updates

  • ProcessWire 3.0.187: This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos— More
    22 October 2021
  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021

Latest news

  • ProcessWire Weekly #388
    In the 388th issue of ProcessWire Weekly we'll check out the latest core update, introduce two new third party modules, and more. Read on!
    Weekly.pw / 16 October 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits