The pagename is the component of the URL that specifies the page. For example, the URL of the page you are currently reading is https://www.dokuwiki.org/pagename, and its page name is “pagename”.
Page names in DokuWiki are converted to lowercase automatically. Allowed characters are letters, digits and, within names 1), the “special characters”
_. All other special characters (i.e. other than letters and digits – whitespace, plus, slash, percent, etc.) are converted to underscores 2) . Colons (
:) are used to identify namespaces 3).
When the deaccent config option is enabled (on by default) local and accented characters are converted to their descriptive equivalents (
ue) or deaccented versions (
An implicit constraint on pagename lengths is set by backlinks (pagenames need to have 3 chars at least to be considered in backlinks).
Most templates, including the default, present somewhere the full pagename and the namespaces in its path. The 'dokuwiki' template places it in the tab on the top right corner of the page. For example this page's name is
When linking to other Wikis using InterWiki links the name restrictions of these Wikis apply.
Note All restrictions given here for pagenames do apply to media files as well!
You may picture namespaces as directories and pagenames as files inside them.
a:b:c pagename can be pictured as:
root namespace (always present) │ └── 'a' namespace │ └── 'b' namespace │ └── 'c' pagename
Note that you can have a pagename and a namespace with the same name, at the same time, within any namespace. Back to the above example, the
a:b pagename can be pictured as:
root namespace (always present) │ └── 'a' namespace │ └── 'b' pagename (not to be confused with the 'b' namespace above)
This doesn't lead to conflicts, because DokuWiki treats the final token (the one after the last colon) as the name of the page itself, while all other tokens are namespaces.
bare namespaces while
cis a page.
ais interpreted as a namespace and
bas a page.
See namespaces for more details.
Some people like to hack the DokuWiki core to be able to use mixed case names. This is not recommended and not officially supported and might break DokuWiki functionality in non-obvious ways.
You can hack the code and by commenting out one line in the wiki/inc/pageutils.php about line 109, you will be able to use files with Names_Like_This if you so choose. Look for this code and comment it out.
$id = utf8_strtolower($id);
This hack, used by me a few years and announced to the User-Forum, seems not to work with Anteater.
Any idea, to have it there too?
Also see this thread.