MediaWiki 是否通过以下简单更新从 1.15.1 升级到 1.20.2 instructions (基本上是新安装,复制旧的 LocalSettings.php,更新脚本并复制图像)。现在奇怪的是所有的 File: 前缀都不起作用。相反,图像的内部链接是“文件:图像名称”URL,而不是“http://mediawiki 地址/index.php/File:图像名称”。
还有其他人得到这个吗?假设旧的 LocalSettings.php 有问题。
运行refreshLinks和refreshImageMetadata维护脚本,但没有修复问题。
最佳答案
在评论中,您写道您已将 file:
添加到 $wgUrlProtocols
。这很可能是引发问题的原因。
看起来解析器在 MW 1.15 和 1.20 之间发生了一些变化,因此它现在将 file:whatever
解析为外部链接(因为它与 file:
匹配)您在 $wgUrlProtocols
中定义的前缀),即使它位于方括号内。
明显的解决方法是将 $wgUrlProtocols
条目从 file:
更改为 file://
,以便它仅在以下情况下匹配斜杠在那里(根据标准 file: URL 语法,它们应该是这样)。由于您的维基文件名大概不太可能以双斜杠开头,因此它们不应该与这个更具体的前缀匹配。
也就是说,这仍然可以被视为 MediaWiki 中的一个错误。您可能想要file a bug report about it ,如果还没有的话。 (编辑:看起来像 Mark A. Hershberger filed one already. )
关于image - MediaWiki 升级破坏了文件前缀,但旧图像可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375177/