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