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

Twitter updates

  • ProcessWire 3.0.142 has a lot of updates but the biggest is the addition of custom fields support for file and image fields. In this post, we take a closer look at that, and also outline all of the new features in the just-released FormBuilder v40— More
    11 October 2019
  • This week’s dev branch version brings you improvements to ProcessWire’s input->cookie API variable, plus it adds the ability to modify system URLs and paths at runtime. This post also includes some examples to demonstrate just how useful this can be— More
    20 September 2019
  • New post: This week we’ll take a look at a new version of FormBuilder that's on the way (with a screencast), as well as the latest version of the core: ProcessWire 3.0.140— More
    6 September 2019

Latest news

  • ProcessWire Weekly #284
    In the 284th issue of ProcessWire Weekly we're going to take a quick look at the latest core updates, introduce a new module called InputfieldFloatRange, and continue our ongoing poll series #processwireworks. Read on!
    Weekly.pw / 20 October 2019
  • ProcessWire 3.0.142 core updates
    This latest version of the core on the dev branch has a lot of updates, and the biggest is the addition of custom fields support for file and image fields. In this post, we take a closer look and also outline all of the new features in the just-released FormBuilder v40.
    Blog / 11 October 2019
  • 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