You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决WordPress固定链接(Permalinks)的语言参数异常问题?

WordPress 固定链接自动转换带查询参数URL的解决方案

问题根源

这种情况一般是WordPress的永久链接重写规则,或是你使用的语言切换插件(如Polylang、WPML)的URL美化功能导致的——这类设置会自动将?lang=en这类查询参数形式的链接,转换为路径式的/lang/en结构。

具体解决方法

1. 调整语言插件的URL设置

如果使用了语言类插件,找到对应设置修改:

  • Polylang:进入设置 → 语言 → URL设置,选择**「使用查询参数」**,取消「语言代码作为目录名」选项,保存后刷新固定链接设置。
  • WPML:进入WPML → 语言 → 语言URL格式,选择**「添加语言参数到URL」**,而非「在目录中添加语言代码」,保存后更新固定链接。

2. 自定义重写规则阻止转换

若插件设置无效,可通过主题functions.php添加代码,阻止lang参数被重写:

function disable_lang_param_rewrite($rules) {
    foreach($rules as $key => $rule) {
        if(strpos($key, 'lang=') !== false) {
            unset($rules[$key]);
        }
    }
    return $rules;
}
add_filter('rewrite_rules_array', 'disable_lang_param_rewrite');

添加完成后,进入设置 → 固定链接,点击「保存更改」刷新重写规则。

3. 手动插入原始HTML链接

编辑内容时,不要直接输入纯URL让WordPress自动转换,切换到编辑器的文本模式,手动插入原始HTML代码:

<a href="https://example.com/?lang=en" rel="nofollow noreferrer">https://example.com/?lang=en</a>

避免可视化编辑器自动格式化链接结构。

4. 检查服务器重写规则

如果服务器用Apache,检查网站根目录的.htaccess文件,查看是否存在将?lang=en转换为路径形式的自定义规则,删除对应规则后保存,再刷新固定链接设置。

内容的提问来源于stack exchange,提问作者Valentyn Volynskyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:52:03