0

我需要帮助写一模重写规则更改查询字符串参数的名称。我想改名字,而不是价值。mod_rewrite的改变查询字符串参数名称

旧名称partner 新名称a_aid

所以这样

http://domain.com/?partner=derphipster&pname=foo&plink=http%3A%2F%2Fbar.com%2Ffoo 

的链接将成为

http://domain.com/?a_aid=derphipster&pname=foo&plink=http%3A%2F%2Fbar.com%2Ffoo 

我发现这篇文章,但接受的答案产生了OP的错误: mod_rewrite - old parameter name to new name

还这篇文章,但解决方案是使用PHP。这不会在我的情况下工作: APACHE mod_rewrite change variable name in query string

我不能使用PHP,因为一些会员跟踪代码从查询字符串创建一个cookie - 并期望a_aid。所以我试图将partner转换为a_aid因为它

回答

2

好吧,我想我自己一起砍了它。如果你认为它的脆性请张贴一个答案或者可以做得更好,我会接受你,而不是

RewriteCond %{QUERY_STRING} ^(.*)partner(.*)$ 
RewriteRule ^(.*)$ $1?%1a_aid%2 [R=301,L]