【问题标题】:Multiple Domains, different language, same url for a page多个域,不同的语言,页面的相同 url
【发布时间】:2013-12-25 04:21:51
【问题描述】:

我正在创建一个包含 3 个域和 1 个子域的多语言网站。我正在使用 Wordpress,我想使用单独的 WP 安装而不是多站点。

域将是:

  • example.de 德语
  • en.example.de(英文/国际版本的子域)
  • example.rs 在塞尔维亚语和
  • 罗马尼亚语的example.ro

所以每个域用于不同的国家。有些页面会是相同的不同语言,有些会是特定的内容。

现在我的问题是:我需要很少的标志来更改语言(如果需要,还可以更改域)。因此,如果您在塞尔维亚语的“关于我们”页面 (example.rs/about-us) 并单击德国国旗,您将被带到 example.de/about-us/。我不想也不能手动链接域之间的页面,我希望避免使用 WMPL,因为它不是免费的,而且我所在的国家/地区存在一些 paypal 技术问题。

我找到了类似问题Changing WordPress link in header 的答案,我想使用答案中的脚本来重写 url。由于链接在标题中,我需要一些动态的东西,这样我就可以为每个页面设置相同的标题。因此,如果我在 example.rs/about-us 上将链接重写为 example.de/about-us 用于德国国旗按钮等。

我担心的是 SEO 和用户混淆。我知道谷歌会知道它适用于不同的位置,因为它是不同的顶级域和语言,所以重复的内容不会成为问题。但是所有的 url 都是英文的(所有域都一样,例如关于我们、potfolio、联系方式),并且页面语言不会。所以德语页面会有一个用英文写的url。这是个大问题吗?此外,是否有解决该问题的替代解决方案,以便我可以将页面链接到与语言(编码或插件)相关的 url?

【问题讨论】:

    标签: php wordpress multilingual multiple-domains


    【解决方案1】:

    您对用户混淆的担忧是有根据的。我只是读了你的问题而感到困惑。我不想想象这个网站的管理员会感到困惑。 :-)

    我会重新考虑基础知识或安装蓝图。

    您可以通过使用出色的qtranslate 插件,以更加用户友好和管理员友好的方式轻松实现相同的结果。

    这将允许您拥有像这样的域:

    • de.example.com
    • en.example.com
    • ro.example.com

    或者,如果你愿意:

    • www.example.com/de
    • www.example.com/en
    • www.example.com/ro

    它还可以让您轻松拥有不同的内容、标题,并且具有出色的挂钩和过滤器系统 - 以及一些自定义编码 - 甚至是不同的 URLS 和基于语言的 SEO。都在同一个安装中。

    即使是您想要的小标志也开箱即用。

    Qtranslate 也有一个相当活跃的社区和forum 黑客。

    如果你会使用它,你可以做类似的事情

    $ccTLD = end(explode('.', $_SERVER['HTTP_HOST']));
       if ($ccTLD == 'com')
    define('WPLANG', 'en_US');
       else
    define('WPLANG', 'ru_RU'); //or other language
    

    (在这里查看更多details - 顺便说一句 - 恕我直言,不需要破解,可以使用过滤器)

    但就像我之前说的,如果你正确地计划安装,你将不会真正需要它。

    您还可以选择使用域映射插件将域正确映射到相应的部分(或者更好 - 在 cPanel / Plask 中手动执行)

    恕我直言 - 多次安装对于这样的网站来说是一个可悲的选择(除非它还会使用不同的插件、不同的主题、不同的一切......)

    qtranslate 一个机会——我几乎可以肯定,在你学习并尝试之后——你会重新考虑你的安装框架。

    【讨论】:

    • 感谢您的提示!好吧,当客户向我解释网站结构时,我感到很困惑 :) 多站点的问题是客户会在一个网站中更改帖子(因为我不希望他们更改其他任何内容)。我找到了将他限制在类别中的方法,所以这个问题就消失了。但是,将来会添加很多东西,我还不知道他的想法,每个域的插件会有所不同等等。我会尝试 qtranslate 和 multisite,它确实是一个更好的解决方案:)跨度>
    【解决方案2】:

    如果您想链接到另一个域上的“相同”页面,请尝试以下操作:

    <a href="<?php echo 'http://example.rs' . $_SERVER['REQUEST_URI']  ?> "  >
    

    因此,如果您在页面 example.ro/about-us 上时,此代码将生成指向 example.rs/about-us 的链接

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 2016-02-26
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多