将字符串保留在请求 uri 前面

2023-12-27

我正在构建一个支持英语和丹麦语两种语言的 WordPress 网站。

我想保留语言代码字符串en对于英语和da对于请求 uri 中前置的丹麦语。

就像:(目前这对我有用)

http://example.com/da

如果我访问帖子或页面,它应该是这样的地图:(这不起作用,得到 404)

http://example.com/da/post-name
http://example.com/da/page-name
http://example.com/da/post/is/too/long

我也尝试过WordPress 重写 API http://codex.wordpress.org/Rewrite_API

add_rewrite_rule() http://codex.wordpress.org/Rewrite_API/add_rewrite_rule(重写目前我拥有的规则)

<?php
add_action('init', function () {    
    add_rewrite_rule(
        '^(da|en)/?', //Regex
        'index.php?lang=$matches[1]', //request to
        'top' //called earlier than wordpress rules
    );
});

并且add_rewrite_tag() http://codex.wordpress.org/Rewrite_API/add_rewrite_tag,但我认为Wordpress只是提供了一个add_rewrite_endpoint http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint(而且我根本不需要这个)。
我认为这可能只能通过 htaccess 实现%{QUERY_STRING}状况? (不知道)

.htaccess 内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Edit:
我在用着WP 本机仪表板 http://wordpress.org/plugins/wp-native-dashboard/用于管理页面上的翻译,但是在前面我只是使用__() and _e() with .mo and .po文件及其工作完美。

P.S:
这个问题并不是 WordPress 网站特有的,我将来也需要基于自定义网站的帮助。如果可以的话,请向我提供 .htaccess 规则/条件。


如果我是你,我会使用插件而不是从零开始实现。您可以使用this http://wordpress.org/plugins/qtranslate/多语言 wp 网站插件。该插件为您提供了三种类型的 url 结构;

  1. ?lang=en
  2. /en/foo/
  3. en.yoursite.com

如果您想用于自定义站点,您可以使用以下重写规则;

RewriteEngine On
RewriteBase /
RewriteRule ^(en|da)/(.*)$ /$2?language=$1 [QSA,L]

我假设,你正在使用language语言参数

Edit:qTranslate 插件存在一些错误。该错误可以通过名为的附加插件来解决q翻译蛞蝓 http://wordpress.org/plugins/qtranslate-slug/。如果您遇到 url 模式问题,请不要忘记使用这个附加插件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串保留在请求 uri 前面 的相关文章

随机推荐

  • nextjs链接组件插值错误

    我在 Next js 中收到此错误 错误 提供的 href subject subject 值缺少要正确插入的查询值 subject 阅读更多 https err sh vercel next js href interpolation f
  • 使用 static const 结构对相关的类常量进行分组 (C++11)

    使用以下 A 的缺点是什么 h class SomeClass static const struct ConstantGroup int a 1 string b b etc CONSTANT cpp const SomeClass Co
  • 如何在android中的视图上方添加阴影

    我有一个观点 那就是作为页脚标题来服务 它只是一个视图 您可能会将其视为按钮 文本视图或布局 我对任何事物都持开放态度 这是 XML
  • Ruby 类:初始化 self 与 @variable

    有人可以解释在定义类时初始化 self 和使用 variables之间的区别吗 这是一个例子 class Child lt Parent def initialize self stuff self stuff stuff super en
  • 如何安装 Six.moves.xmlrpc_client?

    我正在从 openstack 复制一些代码片段 但是当它运行时 import six moves xmlrpc client as xmlrpclib 我收到以下错误 import six moves xmlrpc client as xm
  • ItemizedOverlay 和 Overlay 类之间的区别

    有人可以告诉我何时使用 Overlay 或何时使用 Itemized Overlay 类 这两个类有什么区别 绘制方法做同样的事情吗 我可以在我的项目中仅使用 ItemizedOverlay 类吗 或者我必须使用 Overlay 作为基类
  • 如何排除故障:对“非虚拟 thunk to ...”的未定义引用

    我正在尝试找出如何进一步解决此问题 我还想知道如何安装更新版本的 ld 如果有意义的话 所有参与的包管理器都告诉我我是最新的 该代码在 ubuntu 12 04 和 12 10 上使用 g 4 7 2 进行编译 链接和运行 但在 FC17
  • 使用 Ignore.NotFound 延迟加载 NHibernate

    我有一个 Candidate 对象的映射 如下所示 References x gt x Country Column CountryId NotFound Ignore 这里的问题是 如果我选择 Candidates 我会为每个人获得一个额
  • 如何重新运行失败的测试并为 python3 py.test 设置重试

    我有一些与 Web 服务相关的测试 这些测试发送 http 请求 并且响应由 py test 测试用例验证 我通常会在 50 次测试中遇到 1 到 2 次失败 这些测试是由于间歇性缓慢的 Web 服务器响应收集或网络原因而失败 有没有一种方
  • 通过 highcharts 中的配置禁用系列

    我有一个包含多个系列的折线图 当一次查看所有图表时 图表很混乱 所以我想最初隐藏某些系列 我知道我可以通过编程方式关闭系列 但是在初始化图表时有没有办法做到这一点 相信有一个配置选项可以实现这一点 在系列中 设置 visible false
  • SQL Server作业动态调度

    我有一组 SQL Server 作业 我希望它们的时间表是动态的 即我希望下一个运行日期来自表 我尝试过更新next run date in the sysjobschedules表和next scheduled run date in s
  • 当资源路径是相对路径时,无法使用 include 函数

    背景 我目前对 PHP 和动态生成内容非常陌生 我正在使用 PHPStorm 并使用 XAMPP 的 PHP 解释器与 PHPStorm 的内置 Web 服务器相结合 问题 我最近学会了一个非常方便的功能include 有了这个 我现在动态
  • 使用 log4j 进行条件日志记录

    我正在开发的 Web 应用程序偶尔会为某些用户带来数据完整性问题 我想打开跟踪级别日志记录 但由于我们每秒处理 100 个请求 因此跟踪日志记录不可能实现每个请求 log4j 有没有办法能够有条件地记录 换句话说 我希望仅当特定用户发出请求
  • 不使用不等概率进行替换的采样——线性运行时间可能吗?

    在寻找一个更快的加权采样 无需替换 https stackoverflow com questions 15113650 faster weighted sampling without replacement 出现了以下问题 是否有一种算
  • 在 JQuery 中使用 Load() 获取 XML 属性

    我有这段代码 它可以工作 invest port thumb a mouseenter function slider name load this href cName 加载此 XML
  • Rails:成分的未定义方法“map”

    完全的 Rails 新手正在尝试入门 我有两个课程 成分和单位 有磅 加仑和几十三种单位 每种成分只有一个单位 我认为我正确设置了关联 路线 创建新成分时 我需要要求用户设置这三个单位 我用另一个问题来说明这一点 下拉框 用表单中另一个表的
  • 为什么这个 `grep -o` 失败,我应该如何解决它?

    给定输入 echo abc123def grep o 0 9 在一台计算机上 使用 GNU grep 2 5 4 这会返回123 而在另一个 使用 GNU grep 2 5 1 上它返回空字符串 是否有一些解释为什么 grep 2 5 1
  • 修改 post find mongoose hook 中的结果

    我正在尝试找到一种方法来修改猫鼬的查询结果 下面是带柱钩的独立模型 use strict load the things we need var mongoose require mongoose var invoice db mongoo
  • CoreData 实体使用合并策略保存/更新为 NSMergeByPropertyObjectTrumpMergePolicy 在 xcode 中引发编译器错误?

    我是 IOS 开发的新手 并且在使用 coredata 时遇到了麻烦 我创建了一个AppPage实体与pageId其中的属性标记为唯一约束 现在我可以插入一行AppPage使用下面的代码 let context getAppDelegate
  • 将字符串保留在请求 uri 前面

    我正在构建一个支持英语和丹麦语两种语言的 WordPress 网站 我想保留语言代码字符串en对于英语和da对于请求 uri 中前置的丹麦语 就像 目前这对我有用 http example com da 如果我访问帖子或页面 它应该是这样的