使用 mod_rewrite 替换查询字符串参数值

我想映射这个:

http://www.example.com/index.php?param1=value1&param2=value2&param3=value3 (etc. ad infinitum)

http://www.example.com/index.php?param1=newvalue1&param2=value2&param3=value3 (etc.)

换句话说,只需更改查询字符串中单个参数的值.我知道旧值是什么,所以我试图匹配确切的文本 index.php?param1=value1 并将其替换为 index.php?param1=newvalue1.我似乎无法找到有关如何使用 mod_rewrite 执行此操作的任何示例.非常感谢任何帮助.

In other words, just change the value of a single parameter in the query string. I know what the old value is, so I am trying to match the exact text index.php?param1=value1 and replace it with index.php?param1=newvalue1. I cannot seem to find any examples on how to do this using mod_rewrite. Any assistance greatly appreciated.

推荐答案

试试这个规则:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)param1=value1(&.*)?$
RewriteRule ^index.php$ /index.php?%1param1=newvalue1%3 [L,R=301]

相关文章