我在 Apache 前使用 Varnish 4。我需要从带有首选语言 es 或 ca(除非它也有 de 或 en)的 header 向 deutsh.de 发出的请求被重定向到 spanish.es。 有人可以为我提供适当的语法吗? 谢谢
最佳答案
所以我设法在用于启动 varnish 的文件中整理了一些东西:
sub vcl_recv {
if((req.http.Accept-Language !~ "de" || req.http.Accept-Language !~ "en") && (req.http.Accept-Language ~ "es" || req.http.Accept-Language ~ "ca" || req.http.Accept-Language ~ "eu"))
{
return(synth(301,"Moved Permanently"));
}
}
sub vcl_synth {
if(req.http.Accept-Language ~ "es" || req.http.Accept-Language ~ "ca" || req.http.Accept-Language ~ "eu")
{
set resp.http.Location = "http://spanish.es";
return (deliver);
}
}
...这似乎有效
关于redirect - Varnish 重定向基于浏览器语言设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160852/