默认情况下,moodle仅能绑定一个域名。但是由于学校网络分内网和外网,总希望如果是外网访问的,用外网的域名,用内网访问的,就转到内网的ip。这样访问的速度会更快一些,也减低对防火墙的压力。尤其是当外网ip不够用,用外网ip的非80端口映射内网ip的80端口时,让moodle支持多个域名是很有必要的。

如我校的这个案例:内网ip10.1.2.60,用80端口;外网ip不够用,只好将218.75.25.143的8080端口给映射过来。我试着自己修改根目录下的config.php文件。虽然我对php不是很熟悉,但是这几句简单的代码还是能轻易写出来的。核心的代码如下:

if($_SERVER['HTTP_HOST'] == "10.1.2.60"){
    $CFG->wwwroot   = 'http://10.1.2.60';}
else{
    $CFG->wwwroot   = 'http://218.75.25.143:8080';}

附:config.php文件。

<?php  /// Moodle Configuration File

unset($CFG); 
 
$CFG->dbtype    = 'mysql'; 
$CFG->dbhost    = 'localhost'; 
$CFG->dbname    = 'moodle'; 
$CFG->dbuser    = 'root'; 
$CFG->dbpass    = 'wzms_mysql'; 
$CFG->dbpersist =  false; 
$CFG->prefix    = 'mdl_';
if($_SERVER['HTTP_HOST'] == "10.1.2.60"){
    $CFG->wwwroot   = 'http://10.1.2.60';}
else{
    $CFG->wwwroot   = 'http://218.75.25.143:8080';}
$CFG->dirroot   = '/var/www/html'; 
$CFG->dataroot  = '/var/www/moodledata'; 
$CFG->admin     = 'admin'; 
 
$CFG->directorypermissions = 00777;  // try 02777 on a server in Safe Mode
$CFG->unicodecleanfilename = true;   //中文支持 
 
require_once("$CFG->dirroot/lib/setup.php"); 
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES, 
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE. 
?>

【转】让Moodle支持多个域名的更多相关文章

  1. 小程序点击跳转外部链接 微信小程序提示:不支持打开非业务域名怎么办 使用web-view 配置业务域名

    小程序点击跳转外部页面 1.index.wxml  添加点击事件   标签可以是小程序支持的 <!-- 邀请好友 --> <cover-image src='/img/invitat ...

  2. CentOS 7配置Let’s Encrypt支持免费泛域名证书

    Let’s Encrypt从2018年开始支持泛域名证书,有效期3个月,目前仅支持acme方式申请,暂不支持certbot. 1.安装acme.sh curl https://get.acme.sh ...

  3. Web Server CA证书签名步骤和自签名测试,支持多域名

    Web Server支持HTTPS访问需要两个文件,私钥和证书.私钥和证书都放在服务器上,私钥用来加密数据,证书传递给客户端.自己签名的证书在传递给浏览器的时,因为证书不被信任,所以会弹出连接不安全, ...

  4. ZeroSSL,支持多域名的在线 Let's Encrypt SSL 证书申请工具

    前言: 微信需要ssl证书,很多网站都有免费一年的证书:免费一年的证书叫做单域名证书,iis没办法配置多个子站点443端口:我有很多客户需要用我的的域名,同一个域名配置多个ssl,或者支持多个子域名: ...

  5. Moodle安装图解

    Moodle安装图解 一.    Moodle运行环境搭建 Moodle主要是在Linux上使用Apache, PostgreSQL/MySQL/MariaDB及 PHP 开发(LAMP平台). 1. ...

  6. CentOS配置Nginx+Tomcat7的多站点支持

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在这之前需要先把Nginx和Tomcat安装好,具体见:<CentOS安装Nginx-1.6.2+安全配置&g ...

  7. Windows Azure免费空间如何搭建PHP网站/数据库、域名绑定

    7月份,阿象为大伙介绍了中国版Windows Azure如何建站.自定义远程虚拟机,最高可选四核.28G内存的服务器,相信不少站长.开发者用户大呼过瘾.不过Azure建站系统仅支持SQL数据库,并不支 ...

  8. Linux虚拟主机通过程序实现二级域名绑定到子目录

    虚拟主机中CP控制台不支持将二级域名绑定到子目录的功能,用户可以通过程序实现将二级域名绑定到子目录. 有两种方法将二级域名绑定到子目录: 1. 配置.htaccess, 通过伪静态代码实现.具体实现方 ...

  9. 000webhost虚拟主机绑定自定义二级域名

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=558 前言: 最近想给导航狗IT信息导航做一个文件服务器专门存放文件,以提供引用或下载.于是,我在000webhost上 ...

随机推荐

  1. May 23rd 2017 Week 21st Tuesday

    Winners are not those who never fail but those who never quit. 成功者不是从不失败,而是从不放弃. Nothing is impossib ...

  2. jsonp跨域请求响应结果处理函数(python)

    接口测试跨域请求接口用的jsonp,需要将回调函数里的json字符串提取出来. jsonp跨域请求的响应结果格式: callback_functionname(json字符串). #coding:ut ...

  3. GraphQL 到底怎么用?看看这个例子就知道了

    转载自: https://www.infoq.cn/article/i5JMm54_aWrRZcem1VgH

  4. iOS 适配安装包

    每次自己需求都是去一顿搜索,所以就在此记录一下,免得以后再麻烦. 链接: https://pan.baidu.com/s/1zXEFlt94bz3O1e3GdtG92w 密码: rc4k 摘抄自:ht ...

  5. [转]关于VC++ MFC中的空闲Idle处理机制!

    关键词: 先根据空闲标志以及消息队列是否为空这两个条件判断当前线程是否处于空闲状态(这个“空闲”的含义同操作系统的含义不同,是MFC自己所谓的“空闲”),如果是,就调用CWinThread::OnId ...

  6. 原生ajax接收json字符串(简单介绍)

    什么是json? JSON的全称是 Javascript Object Notation(javascript对象表示法),是基于javascript对象字面量,如果单从眼睛看,JSON里的数据是被保 ...

  7. 【洛谷P3627】[APIO2009]抢掠计划

    抢掠计划 题目链接 比较水的缩点模板题,Tarjan缩点,重新建图,记录联通块的钱数.是否有酒吧 DAG上记忆化搜索即可 #include<iostream> #include<cs ...

  8. 推荐几款基于vue的使用插件

    1.muse-ui ★6042 - 三端样式一致的响应式 UI 库 2.vuetify ★11169 - 为移动而生的Vue JS 2组件框架 3.Vux ★12969- 基于Vue和WeUI的组件库 ...

  9. Kong Api 初体验

    请查看原文: https://www.fangzhipeng.com/nginx/kong/2016/07/11/kong-api-gateway/ Kong是一个可扩展的开源API层(也称为API网 ...

  10. 使用xlsx把json对象导出excel

    1,首先使用npm下载xlsx.执行命令 npm install xlsx --save import { Component, OnInit } from '@angular/core'; //im ...