2014-11-21 26 views
0

我对domain.com一个网站,该网站在网址的多语种内容,例如:阿帕奇的ProxyPass和多语种域名

  • domain.com/en英语
  • domain.com/de德国
  • domain.com/it对于意大利语

等这些不是真的目录 - 这些只是重写到/index.php?lang = ...因此,domain.com/lang/one/two/three被重写为/index.php?lang=$1 &路径= $ 16

它还具有

现在我想改变这种状况每一种语言都有它自己的领域,我认为可能持有所有常用文件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,由Matchi.com提供回到,。它),他将得到domain.com/内容资产。另外,如果用户访问例如URL www.domain.de/something他应该从www.domain.com/de/something接收内容

而另一件事是在输出之前必须重写的URL,例如浏览domain.de的用户去所有的域名...

这可能吗?否则,我们将不得不重新编程整个CMS以针对每种语言使用不同的域...

回答

0

这是可能的。只需在单个虚拟主机中处理它们,然后使用RewriteCond检查%{HTTP_HOST}并进行与您今天所做的相同的重写。您可以捕获国家代码并使用%1反向引用它。

+0

问题在于CMS使用完整的www.domain.com/lang/ ..... URL生成所有内部链接(包括css&js)。如果我们希望CMS生成www.domain.lang网址,我们将不得不重写整个CMS。这就是为什么我正在寻找一种解决方案,它也会更改HTML文档中的所有URL以更正域,并且从我通过互联网读取的内容中,apache的mod_proxy_html可以做到这一点 - 但我无法配置它,无论我尝试什么都不起作用 – j99 2014-11-23 19:29:05