Page MenuHomePhabricator

Custom Namespace Renders Exisiting Pages Inaccessable
Closed, InvalidPublic


Author: obsessivemathsfreak

Creation of a new namespace can render it impossible to access inappropriately named existing pages.


A user on the wiki had created a page such as "Guide:A_Page" on the wiki, but no "Guide" namespace existed. Upon creation of the "Guide" namespace "Guide:A_Page" redirected to a nonexistant page in the Guide namespace and displayed a page creation page.

The original page could not be accessed. Even using a leading colon for the default name space, e.g. "wiki/:Guide:A_Page" or variants thereof, all lead to a redirection to the Guide namespace.

However, the page still existed and could be found on wiki/index.php?title=Special:Allpages&namespace=0. In addition, if the the page(s) were part of a category, they still appeared on that Category page. However in both these cases, all links redirected to the "Guide" namespace page.


  1. Create a new page with a colon, as if denoting a namespace, e.g. Problem:Trouble_Ahead
  2. Once this page is created, create the appropriate namespace, e.g. 100 => "Problem"
  3. Once the namespace is created the above problem should be observed.

The issue was resolved as follows


  1. Rename the problem namespace. e.g. "Problem" is renamed to "Solution".
  2. Move the now available pages with the namespace prefix to appropriate pages, e.g. "Problem:Trouble_Ahead" -> "Problem_Solved:Trouble_Ahead" or "Trouble_Ahead", etc. whichever is appropriate
  3. Rename the problem namespace back to its intended name, e.g. "Solution" -> "Problem"
  4. The original pages are now available and can be moved into the appropriate namespace


Mediawiki cannot unambiguously and uncategorically access a page in the default namespace if a namespace conflict exists. There is no way to explicitly visit a page in the default namespace under these conditions.

Version: 1.8.x
Severity: minor



Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 21 2014, 9:51 PM
bzimport set Reference to bz11105.
bzimport added a subscriber: Unknown Object (MLST).

robchur wrote:

This is quite well explained on The solution is to run maintenance/namespaceDupes.php.