使用 htaccess 重写规则更改查询字符串键名

Changing query string key name with htaccess rewrite rule

我们正在更改附属软件,我不知道如何重写查询字符串键的名称以实现以下目的:

https://www.example.com/path/to/productx?old_key_name=numeric_value

重定向至:

https://www.example.com/path/to/productx?new_key_name=numeric_value

到目前为止我有:

RewriteCond %{QUERY_STRING} ^old_key_name=([0-9]+)

RewriteRule ^ %{REQUEST_URI}?new_key_name=%1 [L,R=301]

它不保留产品的完整路径,但会导致:

https://www.example.com/index.php?new_key_name=numeric_value

/path/to/productx/ 缺失。

我将规则放在 Apache 服务器上 Joomla htaccess 文件的底部。是否可以将产品的完整路径添加到重定向规则中?

我刚刚将规则移到了 htaccess 文件的顶部,它按预期工作。我想默认的 Joomla SEF 重写规则是问题所在。