我有一套规则,根据联盟会员重写URL。一切正常 但是,我在保留URL中的完整查询字符串时遇到问题。 这是我的重写规则
RewriteRule ^/(.*\.html) /adb.pl?code=${affcode:$1}&extra=%{QUERY_STRING} [PT,L]
在Affoding之后,URL中的查询被剥离。
网址应如下所示:
http://mydomain.com?utm_campaign=TEST-AFF&utm_source=TEST-AFF&utm_medium=TEST-AFF&utm_term=TEST-AFF&utm_content=TEST-AFF-JON
相反,我在浏览器中收到此内容:
http://mydomain.com?utm_campaign=TEST-AFF
我已经尝试过使用QSA和NE标志。但只要[PT]在那里它就会拒绝工作。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
您面临的“问题”与mod_rewrite
无关。你在谷歌有一个广告系列,对吗?所有这些utm_something
都只是为了这个。你有这个广告系列来自谷歌的JS,对吧?
所以它的工作原理如下:
- JS从查询字符串中获取这些额外参数
- 然后它会将浏览器重定向到发送这些参数的Google Analytics URL
- Google Analytics会抓取此请求,并在您的网页上记录来自广告系列的访问
- GA向浏览器发送HTTP重定向响应,指向从所有utm_something
为什么呢?因为如果它们没有被剥离,JS会再次抓住它们,这将导致无限循环的重定向。