2010-07-12 41 views
4

爲了優化我的網站,我爲圖像,CSS和JavaScript等內容設置了一個靜態子域。我如何停止將Google Analytics(分析)跟蹤Cookie發送到我的靜態子網域,但仍然可以訪問example.com和www.example.com?禁止將Google Anayltics Cookie發送到Cookie較少的域

通過一些文件已經看過,沒有運氣

回答

2

你不能有一個被髮送到www.example.comexample.com但不othersubdomain.example.com一個cookie。

理論上,您可以將cookie發送到example.com,但不是subdomain.example.com,但它在IE中不起作用。

這就是爲什麼當你打算使用自己的安全上下文使用子域時,你不應該使用no-www example.com地址。無論如何,最好只有www.example.comexample.com之一作爲「正確的」URL。因此,請將example.com的重定向設置爲www.example.com,除非您有意設置domain=.example.com,否則不會共享Cookie。

+0

美妙謝謝 – 2010-07-14 12:09:43

+0

興趣的人對重定向代碼被 RewriteEngine敘述上 的RewriteCond%{HTTP_HOST} ^例如\ .COM 重寫規則^(。*)$ http://www.example.com/$1 [R =永久,L] ,然後在谷歌分析腳本,你需要把 _gaq.push([ '_ setDomainName', 「www.example.com」]) ; – 2010-07-14 12:53:44

3

如果您在使用Google Analytics創建每個域名(包括您的子域名)的Cookie時遇到問題。這是我在其他主題上發佈的解決方案。


作者golly我覺得我已經找到了一個臨時解決方案,以破解谷歌提供的代碼。

如果你進入GA並獲得非異步代碼和選擇:

One domain with multiple subdomains 
Examples: apps.konoro.org 
    store.konoro.org 
    video.konoro.org 

你會看到,它爲您提供了一個.konoro.org代碼示例。將其更改爲www.konoro.org,並且所有Cookie將具有:.www.konoro.org(在它們前面有一個點)。

現在,如果你回到你的異步代碼,除了Async之外,只有一個區別。您需要將['_setDomainName', 'www.konoro.org']作爲第二個選項,而不是在['_trackPageview']之後。

出於某種原因,這是第二個選項,它工作正常。

我最後的代碼是:

var _gaq = _gaq || []; 
_gaq.push(
    ['_setAccount', 'UA-XXXXXXX-1'], 
    ['_setDomainName', 'www.konoro.org'], 
    ['_trackPageview'] 
); 

(function() { 
    var ga = document.createElement('script'); 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    ga.setAttribute('async', 'true'); 
    document.documentElement.firstChild.appendChild(ga); 
})(); 
+0

顯然,它必須第二個因爲_trackPageview啓動跟蹤,所以你不能再傳遞變量... – 2011-09-15 14:26:23