0

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

4

1 回答 1

0

对于 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);
    }
}
于 2012-07-17T10:14:53.743 回答