如何默认使用基于域的其他语言

Mic*_*ael 5 php .htaccess multilingual joomla joomfish

我正在使用Joomla和JoomFish翻译组件.本网站提供德语和中文翻译.我想弄清楚的是如何将.de域名默认为德语翻译(如果以domain.com/de或domain.com/cn访问,则会加载.)

有没有人知道用.htaccess(某种重定向)做到这一点的方法?或者可能是PHP?也许根据域(PHP_URL_HOST)设置某种会话变量?

现在我有了apache2设置,其中wwww.domain.com作为主虚拟主机,.de和.cn作为别名.

Lin*_*een 5

欢迎来到SO!

如果您的Apache已mod_setenvif启用,请将其添加到您的.htaccess文件中:

# Site accessed via "example.de" or "example.cn"
SetEnvIf Host "\.de$" SITE_LANGUAGE=de
SetEnvIf Host "\.cn$" SITE_LANGUAGE=zh

# URL dependent
SetEnvIf Request_URI "^/de/" SITE_LANGUAGE=de
SetEnvIf Request_URI "^/cn/" SITE_LANGUAGE=zh
Run Code Online (Sandbox Code Playgroud)

然后,在PHP脚本中,您可以查询SITE_LANGUAGE:

switch($_SERVER['SITE_LANGUAGE']) {
   case 'de':
      // german stuff
   case 'zh':
      // chinese stuff
}
Run Code Online (Sandbox Code Playgroud)