将cookie信息传递给外部域上的gif

时间:2013-12-13 01:08:31

标签: apache cookies google-analytics mirror

我需要将我们网站的Google Analytics流量镜像到日志文件。

该公司有大约20个需要镜像的域名,因此我宁愿在一个位置捕获所有信息,而不是从大约20个位置检索日志文件。

我将跟踪gif存储在tracking.companysite.com上,在Apache / Linux上运行。

我设置了CustomLog格式并试图捕获cookie:

LogFormat "%h %v %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" googleanalytics
CustomLog /var/log/httpd/google_log "googleanalytics"

一切都过去了,但是日志文件为cookie输出的内容是:

"-"

应该从utmcc url参数中捕获cookie信息,但是当我在网络面板中查看该请求时,该参数不会传递给远程跟踪gif。

<script type="text/javascript"> 
var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'xxx']);
    _gaq.push(['_setDomainName', '.companysite.com']);
    _gaq.push(['_setLocalRemoteServerMode']);
    _gaq.push(['_setLocalGifPath', 'http://tracking.companysite.com/__utm.gif']);
    _gaq.push(['_trackPageview']);
(function() {
    var ga = document.createElement('script'); 
    ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

在没有传递utmcc值的情况下,将cookie信息记录到日志文件的正确方法是什么?是否可以将cookie信息传输到外部域?

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。

跟踪gif必须存储在流量所在的同一域或子域中。

只要我将'setDomainName'设置为mysite.com,并将'setLocalGiftPath'设置为//tracking.mysite.com,gif的响应头就会返回一个cookie,并且它正确地记录到服务器。 / p>

所以 - 正如我所料,这是一个跨域问题。