MediaWiki删除了命名空间和伪命名空间



这是我的问题:

我有几个带有"伪"命名空间的站点,例如"8800:Site" - 但 8800 不是命名空间。但是我的大多数网站都有真实的命名空间,例如"NG:Site"。

当我从我的本地设置中删除所有命名空间时.php在我看来,"NG"也是一个伪命名空间 - 没有在任何地方声明。

但:

指向"NG

"命名空间中的站点的内部链接(即使我直接在浏览器中键入)不再起作用(有和没有"NG:") - 8800 个站点可以。

有人可以向我解释一下吗?删除命名空间的站点会发生什么情况?我对"如果我删除命名空间 NG,它应该是像 8800 这样的"伪"的谬误是什么?

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

有一个维护脚本来解决这些问题;在某些情况下,命名空间Dupes.php工作并且更快,在这种情况下,您可能需要运行cleanupTitles.php这更彻底但更慢。

最新更新