分类目录归档:技术

让Moodle支持多域名、多IP

Moodle内所有的链接都是绝对地址,通过config.php文件中的$CFG->wwwroot定义根位置。这使网站无法支持多域名、多IP。

比如,http://cms.hit.edu.cn的IP是202.118.253.67。为方便被割裂到校园网外的学生访问,现在想给它加一个网通IP,61.167.60.4,绑定在域名http://cms-hit.sunner.cn上。一切都配置好之后,访问http://cms-hit.sunner.cn,再继续点击链接,就都被指向http://cms.hit.edu.cn了。网通IP形同虚设。

解决办法:在config.php文件中加上这样一段代码:

if ($_SERVER['HTTP_HOST'] == 'cms-hit.sunner.cn')
    $CFG->wwwroot   = 'http://cms-hit.sunner.cn';
else
    $CFG->wwwroot   = 'http://cms.hit.edu.cn';

也可以干脆直接:

$CFG->wwwroot  =  'http://' . $_SERVER['HTTP_HOST'];