让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'];

让Moodle支持多域名、多IP》有2个想法

  1. 为什么直接在Windows的hosts文件中加入
    61.167.60.4 cms.hit.edu.cn
    一行会造成访问cms时出现403 Forbidden错误?
    难道没有办法在浏览器端解决老师提出的问题吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注