【问题标题】:URL rewrite for one page一页的 URL 重写
【发布时间】:2015-09-17 21:25:50
【问题描述】:

我有一个双语 wordpress 网站,它将语言子域添加到 URL(例如,mysite.com/en/first-page/。我正在尝试找到一种简单的方法(可以通过 functions.php 文件完成吗?)将 URL 重写为让它删除/en/,使网址mysite.com/first-page/。这可能吗?我看过一些tuts,其中很多都专注于档案和类别​​之类的东西,我不确定他们能帮助我。

【问题讨论】:

  • 您的 WordPress 只使用英语吗?
  • @Twisty 不,它是双语的。该插件根据您使用的语言将语言硬编码到 URL 中。
  • 那么如果 url 路径发生变化,PHP 或 URL Rewrite 将如何知道使用哪种语言?
  • 此页面将有两种语言的副本,因此不会有翻译页面(意味着不会有 /en/first-page/ 和 /fr/first-page/。由于只有一页,我想删除 URL 中的语言 ID。这能回答您的问题吗?
  • 没有。如果我导航到mysite.com/first-page/,Web 服务器应该如何知道我的偏好是哪种语言?现在,如果 URL 是 en.mysite.com/first-page/fr.mysite.com/first-page/,这将允许我知道首选项并将其重写到特定文件夹或传递变量。

标签: php wordpress .htaccess function mod-rewrite


【解决方案1】:

既然您要求 functions.php 解决方案,您也许可以使用add_rewrite_rule()。比如:

add_rewrite_rule('^first-page/?', 'en/first-page/');

如果这不起作用,您应该考虑向 .htaccess 添加规则。

【讨论】:

  • 我将如何通过 .htaccess 文件进行操作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多