我有两个域指向同一个wiki共享同一个数据库.
我想这样,使用domainA.com主页是MainPageA,domainB.com是MainPageB.
更改我所知道的MediaWiki主页的唯一方法是编辑MediaWiki:Mainpage,但它存储在MySQL数据库中.由于两个wiki共享同一个数据库,因此两个主页也都会发生变化.
共享数据库的原因是因为所有文章都适用于两个wiki,只是wiki的徽标等不同.
是否有某种PHP条件变量我可以设置为设置主页面?
您可以在wikicode中执行此操作,方法是使主页源看起来像这样:
{{#switch:{{SERVERNAME}}
|domainA.com={{:Main Page for domainA.com}}
|domainB.com={{:Main Page for domainB.com}}
|#default=<span class=error>Unrecognized domain {{SERVERNAME}}.</span>
}}
Run Code Online (Sandbox Code Playgroud)
甚至只是:
{{:Main Page for {{SERVERNAME}}}}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅帮助: mediawiki.org上的魔术词.(请注意,第一个版本还需要ParserFunctions扩展.)
PS.MediaWiki的解析器缓存可能存在一些问题,可能导致错误的主页出现.如果是这样,快速而肮脏的解决方法是安装MagicNoCache扩展并添加__NOCACHE__
到主页.
PPS.更好的缓存问题解决方案可能是通过将以下行添加到LocalSettings.php来确保不同的站点具有单独的缓存键:
$wgRenderHashAppend .= "!$wgServer";
Run Code Online (Sandbox Code Playgroud)