在 503 页面上使用 Google Analytics

Posted

技术标签:

【中文标题】在 503 页面上使用 Google Analytics【英文标题】:Using Google Analytics on a 503 page 【发布时间】:2012-07-15 09:01:52 【问题描述】:

我正在使用 varnish 来缓存我们的页面。当我们得到一个 503 时——这种情况发生得太频繁了——我想在那里进行某种页面跟踪。我想把GA代码放在那里。我似乎找不到任何其他人这样做的例子。有人做过吗?这样做是否违反了某种条款和条件?

【问题讨论】:

当你得到一个 503 页面时,用户会被重定向到不同的页面还是看到相同的页面? 【参考方案1】:

对于 Varnish,您可以使用 vcl_error 来包含您自己的响应(具有 Google Analytics 代码)。

编辑:我没有测试过这些。它们只是示例。

一个例子:

sub vcl_error 
    set obj.http.Content-Type = "text/html; charset=utf-8";

    if (obj.status == 503) 
        synthetic "
<html>
<head>
<title></title>
</head>
<body>
<h1>Error</h1>
<p>Something</p>
<!-- ANALYTICS CODE -->
</body>
</html>
        ";

        return(deliver);
    

或者,您可以使用vmod(作为标准包含在版本 3.*+ 中)从文件系统添加您自己的页面。

# Add this to the top of your config
import std;

# vcl_error
sub vcl_error 
    set obj.http.Content-Type = "text/html; charset=utf-8";

    if (obj.status == 503) 
        set obj.http.error503 = std.fileread("/path/to/errors/503.html");
        synthetic obj.http.error503;
        return(deliver);
    

【讨论】:

你可以只做 "synthetic std.fileread("/path/to/errors/503.html");"而是。

以上是关于在 503 页面上使用 Google Analytics的主要内容,如果未能解决你的问题,请参考以下文章