我有两个域指向同一个wiki共享同一个数据库。
我想这样,使用domainA.com主页面是MainPageA,而domainB.com则是MainPageB。
更改我所知道的MediaWiki主页的唯一方法是编辑MediaWiki:Mainpage,但它存储在MySQL数据库中。由于两个wiki共享同一个数据库,因此两个主页也都会发生变化。
共享数据库的原因是因为所有文章都适用于两个wiki,只是维基等的徽标不同。
我可以设置某种PHP条件变量来设置主页吗?
答案 0 :(得分:5)
您可以在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>
}}
甚至只是:
{{:Main Page for {{SERVERNAME}}}}
有关详细信息,请参阅mediawiki.org上的Help:Magic words。 (请注意,第一个版本还需要the ParserFunctions extension。)
聚苯乙烯。 MediaWiki的解析器缓存可能存在一些问题,可能导致错误的主页出现。如果是这样,快速而肮脏的解决方法是安装the MagicNoCache extension并将__NOCACHE__
添加到主页。
PPS。更好的缓存问题解决方案可能是通过将以下行添加到LocalSettings.php来确保不同的站点具有单独的缓存键:
$wgRenderHashAppend .= "!$wgServer";