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

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

【问题讨论】:

  • 当你得到一个 503 页面时,用户会被重定向到不同的页面还是看到相同的页面?

标签: apache google-analytics varnish http-status-code-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");"而是。
猜你喜欢
  • 2013-12-26
  • 2018-02-26
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多