2

簡単な更新手順(基本的には新しいインストール、古いLocalSettings.phpのコピー、スクリプトの更新、画像のコピー)に従って、MediaWikiを1.15.1から1.20.2にアップグレードしました。奇妙なことに、すべてのFile:プレフィックスが機能しません。代わりに、画像への内部リンクは、「http:// mediawiki address / index.php / File:name of image」ではなく、「file:nameofimage」URLです。

他の誰かがこれを手に入れます。古いLocalSettings.phpに問題があると仮定します。

問題を修正せずに、refreshLinksおよびrefreshImageMetadataメンテナンススクリプトを実行しました。

4

1 に答える 1

3

コメントで、にfile:追加したことを書きました$wgUrlProtocols。これが問題の原因である可能性が非常に高いです。

MW 1.15と1.20の間でパーサーで何かが変更されたようです。そのため、角括弧内であってもfile:whatever、外部リンクとして解析されfile:ます(定義したプレフィックスと一致するため)。$wgUrlProtocols

明らかな回避策は、$wgUrlProtocolsエントリをからfile:に変更しfile://て、スラッシュが存在する場合にのみ一致するようにすることです(標準ファイル:URL構文によるとそうあるべきです)。Wiki上のファイル名は、おそらく二重スラッシュで始まる可能性は非常に低いため、このより具体的なプレフィックスと一致しないようにする必要があります。

そうは言っても、これはまだMediaWikiのバグと見なされる可能性があります。まだバグレポートがない場合は、バグレポートを提出することをお勧めします。(編集:Mark A. Hershbergerがすでに提出したようです。

于 2013-01-17T10:52:03.833 に答える