我目前正在我的标准Apache文件夹中运行Mediawiki,即/ var / www / html。我现在的任务是制作Mediawiki多语言,我可以通过创建一个wiki服务器场来创建一个wiki服务器场,方法是通过虚拟主机在不同的子域上设置技术上的个人wiki,然后通过Mediawiki扩展连接它们。
我最近尝试过试验虚拟主机,虽然我只是在一定程度上得到它。也就是说,我设置并通过SSH启用了两个VH,但是加载了de.example.com和en.example.com后,我只得到了两个404。
所以,在崩溃之前,我只是想问你一下我的具体问题:
我想将位于/var/www/html/
的Mediawiki的当前安装移动到/var/www/html/de/
,并将相同的安装复制到/var/www/html/en/
(以便稍后编辑,只是不必重新安装它)。
而且,随后,我希望de.example.com指向/var/www/html/de/
和en.example.com在/var/www/html/en/
。
此外,example.com
应链接到de.example.com
。
由于我现在对如何正确实现这一点感到困惑,所以我真的很感激这个特定问题的快速具体指南(也就是说,在某种意义上让我回到正轨?)。
先感谢您!
使用MediaWiki配置Wiki服务器场没有“一种真正的方法”。然而,https://www.mediawiki.org/wiki/Manual:Wiki_family记录了许多不同的解决方案。
对于一个小型wiki农场,类似于Manual:Wiki_family中的"Giant switch statement"是一种合理的开始方式。这种技术利用了MediaWiki在处理每个请求的早期处理MediaWiki部署目录根目录中的LocalSettings.php
文件这一事实,该文件可以根据Host:header或请求中的其他信息更改设置。
要使用此方法,您可以执行以下操作:
/var/www/html/
)。这已在原始问题中完成。LocalSettings_en_example_com.php
)LocalSettings_de_example_com.php
等)LocalSettings.php
文件,根据每个请求的Host头的内容选择正确的LocalSettings_*.php
:
<?php
// Include common settings to all wikis before this line (eg. database configuration)
switch ( $_SERVER['SERVER_NAME'] ) {
case 'en.example.com':
require_once 'LocalSettings_en_example_com.php';
break;
case 'de.example.com':
require_once 'LocalSettings_de_example.com.php';
break;
default:
header( 'HTTP/1.1 404 Not Found' );
echo 'This wiki is not available. Check configuration.';
exit( 0 );
}
/var/www/html
目录,为每个wiki配置多个虚拟主机的Web服务器。