为了优化我的网站,我为图片,css和javascript等内容设置了一个静态子域名。如何阻止将谷歌分析跟踪cookie发送到我的静态子域,但仍然发送到example.com和www.example.com?
已经查看了一些没有运气的文档
答案 0 :(得分:3)
您无法将Cookie发送至www.example.com
和example.com
,但不能othersubdomain.example.com
。
理论上你可以将一个cookie发送到example.com
而不是subdomain.example.com
,但它在IE中不起作用。
这就是为什么在计划使用具有自己的安全上下文的子域时,不应使用no-www example.com
地址。最好只有www.example.com
和example.com
中的一个作为“正确”的网址。因此,设置example.com
的重定向以转到www.example.com
,除非您故意在其上设置domain=.example.com
,否则不会共享Cookie。
答案 1 :(得分:3)
如果您在使用Google Analytics(分析)时遇到问题,请为每个域创建Cookie,包括您的子域名。这是我在其他地方发布的关于这个主题的解决方案。
我觉得我已经找到了Google提供的破解代码的临时解决方案。
如果您进入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);
})();