This project is not covered by Drupal’s security advisory policy.

PURL 1.0-beta6 requires CTools. Please make sure you have added it to your modules before running update.php.

PURL (pronounced 'perl') stands for Persistent URL. PURL is an API module -- it is meant to be a helper (and one that does some heavy lifting at that!) for other modules interested in using elements of the page request to sustain information between pages without using a SESSION or other hackish means.

Translation: PURL does absolutely nothing for the end user out of the box without other modules that take advantage of its API.

It is an API module that provides a way for other modules to take advantage of concepts using custom_url_rewrite_outbound() without having to write the complex logic that URL rewriting often requires. An example implementation of this API can be found in the spaces module.

PURL can work with these page request elements:

PURL began its life as the poorly named context_prefix in the Context project, but has since left the nest to fly on its own.


  • yhahn (Young Hahn)
  • jmiccolis (Jeff Miccolis)


  • Ian Ward
  • dmitrig01 (Dmitri Gaskin)

Project information