Regex 如何使用htaccess重写规则附加基于referer的查询字符串

Regex 如何使用htaccess重写规则附加基于referer的查询字符串,regex,.htaccess,url-rewriting,rewrite,iirf,Regex,.htaccess,Url Rewriting,Rewrite,Iirf,好的,所以我试图在Iirf.ini中提出一些重写规则,但我不太明白。 我想检查一下推荐人,然后在你点击的url的查询字符串中添加一些内容 1.假设我来自testing.lc,只访问了域 domain.com/ 2.或具有index.cfm的域 domain.com/index.cfm 3.或具有index.cfm和任意数量查询参数的域 domain.com/index.cfm?key1=value1&key2=value2 domain.com/login?key1=val

好的,所以我试图在
Iirf.ini
中提出一些重写规则,但我不太明白。 我想检查一下推荐人,然后在你点击的url的查询字符串中添加一些内容

1.假设我来自testing.lc,只访问了域

domain.com/
2.或具有index.cfm的域

domain.com/index.cfm
3.或具有index.cfm和任意数量查询参数的域

domain.com/index.cfm?key1=value1&key2=value2
    domain.com/login?key1=value1

domain.com/page?key1=value1
4.或具有短URL的域

domain.com/login
5.或具有短URL和任意数量查询参数的域

domain.com/index.cfm?key1=value1&key2=value2
    domain.com/login?key1=value1

domain.com/page?key1=value1
到目前为止,我有类似的东西

RewriteCond %{HTTP_REFERER} ^http://testing\.lc/.*$
RewriteRule ^/([^?]+)(\?.*|/){0,1}$ /$1?newkey=newvalue [I,QSA]
这似乎对一些URL有效,但不是上面列出的所有URL。 此重写也不能使用[L],因为对于需要传递查询字符串的URL(如/login),后面还有其他匹配项


非常感谢任何帮助或建议……

这是一项相当困难的工作,因为您必须首先检查是否有
。如果它已经存在,你必须使用
&newkey=newvalue
,如果它没有
?newkey=newvalue
应该被添加…是的,我已经尝试了一段时间,但我没有得到任何进展,我有类似
重写cond%{QUERY|STRING}(^ |和)newkey=newvalue(&|$)
的东西,但这不起作用