【问题标题】:htaccess redirect url without chaging url in address barhtaccess 重定向 url 而不更改地址栏中的 url
【发布时间】:2015-10-14 10:17:54
【问题描述】:

您好,我正在使用带有翻译插件 WP-globus 的 WordPress。我有两种语言选择英语和法语。该插件将“/fr/”添加到域的末尾以加载法语内容。

例如:

  • xxxxxx 指的是帖子标题。
  • mysite.com/xxxxxx 显示英文版
  • mysite.com/fr/xxxxxx - 显示法语版本

我想要的是当访问者访问 mysite.fr/xxxxxx 时,它应该加载 mysite.com/fr/xxxxxx 的内容。

谁能指导我这个。这可以使用 htaccess 完成吗?

注意:地址栏的url不能显示mysite.com/fr/xxxxxx,必须显示mysite.fr/xxxxxx

【问题讨论】:

标签: wordpress .htaccess


【解决方案1】:

我已经解决了这个问题,并且对我来说工作正常。在 wpglobus 插件中做一些小的改动。

你有两个不同的域,都指向同一个主机,对吗?

mysite.com

mysite.com.fr(加载法语内容)

解决办法,

转到 wpglobus 插件文件夹

文件夹内包括/class-wpglobus-config.php打开并在提到的行之后粘贴以下行

public $extended_options = array(); after

protected $domain_french = 'mysite.com.fr'; //add this line  only

下一步找到这个函数init_current_language()

在函数末尾添加这一行

if( stristr( $_SERVER['HTTP_HOST'], $this->domain_french ) )
 $this->language    = 'fr';

保存文件。就是这样。

现在您的 mysite.com.fr 网站默认加载法语内容。

接下来您需要防止在法语站点中添加 /fr/。

同样包含文件夹 class-wpglobus-utils.php 打开它。

查找函数localize_url

在函数里面找到这一行

if ( ($language === $config->default_language && $config->hide_default_language))

if ( ($language === $config->default_language && $config->hide_default_language) || $language   ==='fr')

就是这样。我希望这个解决方案能解决您的问题。

【讨论】:

  • 这对我来说听起来不正确,您正在编辑插件文件夹中的核心文件。我们如何覆盖我们自己的主题文件夹中的文件,以便我们进行更改?
猜你喜欢
  • 2013-06-11
  • 1970-01-01
  • 2012-10-28
  • 2013-09-20
  • 2010-11-21
  • 1970-01-01
  • 2014-08-17
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多