我需要帮助编写mod重写规则来更改查询字符串参数的名称。我想更改名称,而不是值。
旧名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
答案 0 :(得分:2)
好吧,我想我自己一起攻击它。如果你觉得它很脆弱或者可以做得更好而且我会接受你的答案
,请发一个答案RewriteCond %{QUERY_STRING} ^(.*)partner(.*)$
RewriteRule ^(.*)$ $1?%1a_aid%2 [R=301,L]