Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 分析代码为一个域生成并用于另一个域_Mod Rewrite_Google Analytics - Fatal编程技术网

Mod rewrite 分析代码为一个域生成并用于另一个域

Mod rewrite 分析代码为一个域生成并用于另一个域,mod-rewrite,google-analytics,Mod Rewrite,Google Analytics,我有一个网站托管在服务器X(86.115.xx.xxx)上,域名为www.AAAAAA.ro。我在网站上做了重大的改变,也给它重新打上了品牌。我想在同一台服务器上托管该网站的新版本,但我想将其域更改为www.bbbb.ro。我已经从服务器上删除了旧网站的源代码,并在服务器上添加了新网站的代码。目前,www.AAAAAA.ro和www.BBBBBB.ro域都指向X服务器。www.AAAAAA.ro域被永久重定向(301代码)到www.bbbb.ro域。使用以下htaccess语句进行重定向: Re

我有一个网站托管在服务器X(86.115.xx.xxx)上,域名为www.AAAAAA.ro。我在网站上做了重大的改变,也给它重新打上了品牌。我想在同一台服务器上托管该网站的新版本,但我想将其域更改为www.bbbb.ro。我已经从服务器上删除了旧网站的源代码,并在服务器上添加了新网站的代码。目前,www.AAAAAA.ro和www.BBBBBB.ro域都指向X服务器。www.AAAAAA.ro域被永久重定向(301代码)到www.bbbb.ro域。使用以下htaccess语句进行重定向:

RewriteCond %{HTTP_HOST} !^(www\.)?BBBBBB\.ro$ [NC]
RewriteRule ^(.*)$ http://BBBBBB.ro/$1 [R=301,L]
我的问题: 如果我在新网站(有www.BBBBBB.ro的网站)上使用为www.AAAAAA.ro域生成的分析代码,它会工作吗?。请记住,www.AAAAAA.ro域将永久重定向(301代码)到www.bbbb.ro域

谢谢, Mihai Despa

视情况而定

如果在GA代码中显式设置域(
\u setDomainName
),并将其设置为旧域,则不会触发GA代码。这是因为GA将无法写入其cookie。因此,您需要确保未在新域上设置该值,或者将其设置为正确的值

除此之外,还要注意,代码将“工作”,因为它将继续跟踪。但是,GA使用第一方cookie。因此,这意味着您已经建立的访问者的cookie(设置在旧域上)将不会转移到新域。这意味着任何已经访问您的站点并拥有cookie的访问者基本上都将以新访问者的身份开始访问

不幸的是,保留当前访问者不是一件容易的事情,除非您愿意暂时执行一些客户端重定向,而不是服务器端重定向

为什么?

事情是这样的。。你看,GA在确保访客信息在传递时不被篡改方面相当狡猾

通常的做法是在页面代码中使用
\u setAllowLinker
,然后在给定链接的onclick中使用
\u link
。这使得GA将其cookie信息附加到目标URL,以转移到新域。(注意:如果您确实想进行客户端重定向,那么您基本上只需在页面加载时调用
\u链接
调用,而不是onclick。它将处理重定向)

所以这就是事情变得不正常的地方。除了cookies和值之外,GA还传递一个
\uuuutmk
参数,简言之,该参数是由其他参数和当前域灵魂的一小部分合并生成的哈希。为了实现这一点,ga.js中有一些复杂的js技巧,到目前为止,我还没有找到一个包含服务器端代码的反向工程版本

现在,假设你把自己的灵魂卖给魔鬼去学习如何复制他们的魔术,你现在面临着下一个问题:在重定向中传递这些东西

.htaccess
或服务器配置文件或w/e中,抓取其他cookie并将其作为参数传递“非常简单”。但是在这种环境中没有可用的脚本语言,因此您必须使用
RewriteMap
来引用外部脚本。这还不算太糟,尽管它确实让事情变得有些复杂。哦,另外,
RewriteMap
不能在
.htaccess
中声明,所以您不能在那里填充内容;必须将其放入服务器配置文件中。如果您已经在那里执行重写规则,那么请轻松完成,但是如果您在
.htaccess
中执行重写规则,请注意这一点

综上所述:

  • 您必须对在
    ga.js
    中如何生成
    \uuuutmk
    进行反向工程,并将其移植到服务器端脚本
  • 您必须使用
    RewriteMap
    调用该脚本以生成该值
  • 将uu utm
    X
    cookies和u utmk参数添加到重定向的URL
  • 此外,在新域上,您需要将
    \u setAllowLinker
    添加到您的页面GA代码中,以便它查找URL参数并使用它们
  • 除了这个烂摊子还有别的选择吗?如上所述,如果您愿意暂时使用GA的
    \u link
    调用页面加载作为从siteA到siteB的重定向方法,这将允许GA代码将参数(包括生成的
    \u utmk
    变量)附加到目标URL,并成功地将访问者迁移到新站点

    注意:您还需要将
    文档.referer
    附加到
    \u link
    推送中的目标URL,然后在新域上添加一些代码来获取该文件,并用该值弹出
    \u setrefererOverride
    ,以便GA将记录原始的referer,而不是虚拟重定向页面

    您甚至可以执行
    RewriteCondition
    检查是否存在
    \uu utm
    cookies,如果存在cookies,则将访问者重定向到包含GA重定向的单个页面。如果它不存在,让重写规则像往常一样重定向到新域。这将减少让新访客不得不跳转的次数

    让它在客户端重定向需要多长时间?这取决于你最长的转换周期。你的网站的转化率/目标是什么?例如,您是否有采购漏斗?游客平均需要多长时间购买?一天?一个月?选择你最长的转换周期,然后等待那么长的时间。可能会有一些边缘情况从裂缝中脱落,但这应该比丢失所有边缘情况更容易接受。或者,如果你愿意,可以无限期地保留它

    如果你连那都不想做?好吧,选择一个好的时间来处理被清除的访客信息列表,打开重写规则,然后处理它