使用mod-rewrite重写子域

时间:2010-04-27 17:40:10

标签: mod-rewrite moodle

我有一个使用moodle库的项目。由于客户请求,我不得不将网址从moodle.example.com更改为learn.example.com。

我认为这将是一个很容易的改变,但是alas moodle将所有链接和图像插入完整的URL而不是相对URL。

是否可以使用mod-rewrite将moodle.example.com的所有请求指向learn.example.com并维护查询字符串?

示例:

我想要一个请求:http://moodle.example.com/course/view.php?id=2&topic=1转到http://learn.example.com/course/view.php?id=2&topic=1

这可能吗?

谢谢,

约什

2 个答案:

答案 0 :(得分:5)

尝试此规则:

RewriteCond %{HTTP_HOST} =moodle.example.com [NC]
RewriteRule ^ http://learn.example.com%{REQUEST_URI} [L,R=301]

答案 1 :(得分:1)

除了apache重写规则之外,还可能值得查看有关迁移的moodle文档:http://docs.moodle.org/en/Moodle_migration

特别注意admin / replace.php。此工具可以帮助您同时重写moodle数据库中所有文本的链接。