【发布时间】:2015-01-19 13:35:39
【问题描述】:
我在 domain.com 上有一个网站,其 URL 中包含多语言内容,例如:
- domain.com/en 英文版
- domain.com/de 用于德语
- domain.com/it 用于意大利语
等等。这些不是真正的目录 - 这些只是重写为 /index.php?lang=... 所以 domain.com/lang/one/two/three 被重写为 /index.php?lang=$1&path=$2
它还有 domain.com/assets 目录,其中包含所有常见文件(css、图像等)
现在我想改变每种语言都有自己的域,我认为可以通过在 Apache 中使用 mod_proxy、mod_proxy_http 和 mod_proxy_html 来管理它。我想要实现的是,如果用户访问:
- www.domain.com 他从 domain.com/en 获取内容
- www.domain.de 他从 domain.com/de 获取内容
- www.domain.it 他从 domain.com/it 获取内容
如果他从任何域(.com、.de、.it)访问 /assets 目录,他将从 domain.com/assets 获取内容。此外,如果用户访问 URL,例如www.domain.de/something 他应该从 www.domain.com/de/something 接收内容
另一件事是在输出之前必须重写的 URL,例如浏览 domain.de 的用户根本不会去 domain.com...
这可能吗?否则,我们将不得不对整个 CMS 进行重新编程,以便为每种语言使用不同的域...
【问题讨论】:
标签: apache mod-rewrite reverse-proxy mod-proxy mod-proxy-html