【问题标题】:Multi-Lingual Site with subdomains具有子域的多语言站点
【发布时间】:2011-07-11 12:21:43
【问题描述】:

我想创建一个默认为英语的多语言网站,例如 example.com,其子域包括 fr.example.com、de.example.com、it.example.com ...

现在,如果用户选择 fr.example.com,该网站的语言将是法语。

如果子域是fr,PHP会包含lang_fr.php,如果是de,PHP会包含lang_de.php,但是如果没有子域,PHP必须包含默认文件lang_en.php

该站点必须只有一个源代码、内容和样式,它必须使用与 example.com 根目录中相同的资源。

那么如何使用 Apache 将 URL 从 fr.example.com 重写为 example.com/index.php?lang=fr 和 example.com/ 到 example.com/index.php?lang=en

【问题讨论】:

    标签: apache dns subdomain rewrite multilingual


    【解决方案1】:

    你不需要重写任何东西。只需检查 $_SERVER['SERVER_NAME']。

    function get_language()
    {
      //not tested
      $default_language = 'en';
      $language = array_shift(explode('.', $_SERVER['SERVER_NAME'] ));
      if ( str_len( $language ) > 2 )
      {
        $language = $default_language;
      }
      return $language;
    }
    

    【讨论】:

    • 这就是我要寻找的,但是我纠正了一些小错误,然后代码就可以工作了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    相关资源
    最近更新 更多