2

同じデータベースを共有する同じ wiki を指す 2 つのドメインがあります。

domainA.com ではメイン ページが MainPageA になり、domainB.com では MainPageB になるようにしたいと思います。

私が知っている MediaWiki のメイン ページを変更する唯一の方法は、MediaWiki:Mainpage を編集することですが、それは MySQL データベースに保存されています。両方のウィキが同じデータベースを共有しているため、両方のメイン ページも変更されます。

データベースが共有されているのは、すべての記事が両方のウィキに適用されるためで、ウィキのロゴなどが異なるだけです。

メインページを設定するために設定できるPHP条件変数はありますか?

4

1 に答える 1

5

メインページのソースを次のようにすることで、ウィキコードでこれを行うことができます。

{{#switch:{{SERVERNAME}}
  |domainA.com={{:Main Page for domainA.com}}
  |domainB.com={{:Main Page for domainB.com}}
  |#default=<span class=error>Unrecognized domain {{SERVERNAME}}.</span>
}}

または単に:

{{:Main Page for {{SERVERNAME}}}}

詳細については、mediawiki.org のHelp:Magic wordsを参照してください。(最初のバージョンには ParserFunctions 拡張も必要であることに注意してください。)

Ps。MediaWiki のパーサー キャッシュに問題があり、間違ったメイン ページが表示される可能性があります。その場合、手っ取り早い回避策は、MagicNoCache 拡張機能__NOCACHE__をインストールして、メイン ページに追加することです。

pps。キャッシュの問題に対するより良い解決策は、LocalSettings.php に次の行を追加して、異なるサイトに個別のキャッシュ キーがあることを確認することです。

$wgRenderHashAppend .= "!$wgServer";
于 2012-12-29T01:32:55.640 に答える