mediawiki删除了名称空间和伪名称空间

时间:2013-11-04 14:04:07

标签: namespaces mediawiki

这是我的问题:

我有一些带有“伪”命名空间的网站,例如“8800:站点” - 但8800不是命名空间。 但我的大多数网站都有真正的名称空间,例如“NG:站点”

当我从Localsettings.php中删除所有命名空间时,在我的想法中“NG”也是一个伪命名空间 - 未在任何地方声明。

可是:

内部链接(即使我直接在浏览器中输入)到“NG”命名空间中的网站也不再有效(有和没有“NG:”) - 8800个网站。

有人可以向我解释一下吗? 删除名称空间的网站会发生什么? 什么是我的谬论“如果我删除Namespace NG它应该是”伪“像8800”?

1 个答案:

答案 0 :(得分:2)

当您以可能影响现有页面的方式删除或更改名称空间时,您需要修复Wiki上的所有页面 - 否则wiki将无法再“看到”这些页面。这是因为数据库中的标题存储为(名称空间标识,剩余标题文本)对。因此,一些“OldNS:Title”会被存储为类似(104,“Title”)...现在你已经删除了它,当wiki去寻找一个名为“OldNS:Title”的东西时,它被解析成( 0,“OldNS:Title”)两者之间没有匹配。

有一个维护脚本来解决这些问题;对于某些情况namespaceDupes.php有效并且更快,在这种情况下,您可能需要运行cleanupTitles.php,这更彻底但更慢。