这是我的问题:
我有一些带有“伪”名称空间的站点,例如" 8800 :Site“--但8800不是一个名称空间。但我的大多数网站都有真正的命名空间,例如"NG:Site“。
当我从Localsettings.php中删除所有名称空间时,在我看来"NG“也是一个伪名称空间--没有在任何地方声明。
但是:
内部链接(即使我直接在浏览器中输入)到"NG“名称空间中的站点不再起作用(使用和不使用"NG:") - 8800站点可以。
有人能给我解释一下吗?删除名称空间的站点会发生什么情况?关于“如果我删除Namespace NG,它应该是”伪的“,就像8800”,我的谬误是什么?
发布于 2013-11-08 01:34:39
当您以可能影响现有页面的方式删除或更改名称空间时,您将需要修复wiki上的所有页面--否则wiki将无法再“看到”这些页面。这是因为数据库中的标题被存储为(名称空间id,剩余的标题文本)对。所以一些"OldNS:Title“可能会被存储为(104,"Title")……现在您已经删除了它,当wiki查找名为"OldNS:Title“的内容时,它会被解析为(0,"OldNS:Title"),并且两者之间没有匹配。
有一个维护脚本来修复这些问题;在某些情况下,namespaceDupes.php可以工作,而且速度更快,对于这种情况,您可能需要运行cleanupTitles.php,它更彻底,但速度更慢。
https://stackoverflow.com/questions/19769401
复制相似问题