The extension provides automatic transformation of URLs with GET parameter in the frontend (like “index.php?id=123&type=0&L=1”) into a virtual path, a so called “Speaking URL” (like “dutch/contact/company-info/page.html”) and back again. The objective is that URLs shall be as human readable as possible.

The extension is very flexible and can provide from simple translation of page IDs to encoding of almost any possible combination of GET parameters.



TYPO3 works with page-IDs. This works great, however the URLs are very ugly (“...index.php?id=123&type=0&L=1....” etc.). There are workarounds (simulateStaticDocuments), but that's just a fake: the ID must still be supplied in the URL, which is not desirable. Furthermore, only the page-title is shown, not the complete 'path' (or 'rootline') to the page.

Normally, you type in the path and filename of a document, but TYPO3 works exclusively with page-IDs. The RealURL-extension provides a way to translate between page-IDs and (virtual) URLs that are easy to read and remember.

The extension requires the Apache module “mod_rewrite” to rewrite the virtual URLs of the site to the TYPO3 frontend engine.

Generally it will work out-of-the-box but you will have to address the issue that all media referenced in the HTML page has to have either absolute URLs or the <base> tag set. Both methods has advantages and drawbacks but the bottomline is that you might have to fix your templates/coding various places to be compatible.


  1. Supports various schemes for coding the page path, including userdefined schemes

    1. Pagetitles can contain spaces and characters like /.,&@ etc, the URL will still be nice.

    2. URLS are generated as nice-looking lowercase paths

    3. If a page is renamed, the old URL can still be used (see below in the Users Manual), so if the page was indexed by e.g. Google, it can still be found.

  2. Offers advanced translation of almost any set of GET parameters to/from virtual URL

    1. Translation between a GET query string (“...&tx_myext[blabla]=123&type=2...”) and a virtual URL (“.../123/2/”) is transparent to TYPO3 and all extensions; The only requirement is that the internal TYPO3 link generation functions are used (“tslib_cObj::typolink”, “t3lib_tstemplate::linkData”)

  3. URLs are cached, so translating between URLs and IDs is very fast.

  4. It can handle different frames, or other pagetypes

  5. URLs are multilingual: if you're browsing in Dutch, you'll see Dutch URLs

  6. Once configured the systems works fully automatic, creating new and updating existing URLs

  7. You can easily see where shortcuts are pointing to, as the 'target' URL is generated, instead of the URL to the shortcut itself.

  8. It automatically handles installations of TYPO3 in directories other than the root of the website too

  9. Rawurlencoding of remaining parameter GEt vars names

  10. It is incompatible with “simulateStaticDocuments” .

Follow us on twitter