2

我正在照顾一个目前正在运行非常标准的 varnish/apache 设置的网站。客户端需要添加一个从路径/查询字符串透明地提供服务的新域,以便创建其站点的轻量级版本。例如:

用户访问指向与 example.com 相同的服务器的 mobile.example.com

Varnish 将 mobile.example.com 请求重写为 example.com/mobile?theme=mobile

用户收到由 apache 从 example.com/mobile?theme=mobile 提供的页面,但仍停留在 mobile.example.com

我们需要点击路径并在此处添加查询字符串,并维护用户输入的任何路径,即:mobile.example.com/test 应在 example.com/mobile/test?theme=mobile 提供内容

使用 Varnish 4 执行此操作的任何提示?可能吗?

4

1 回答 1

8

得到它的工作!

if (req.http.host ~ "^mobile\.example\.com") {
  set req.http.host = "example.com";
  set req.url = regsub(req.url, "^/", "/mobile/");
  set req.url = regsub(req.url, "$", "?theme=mobile");
} 
于 2016-04-25T10:49:19.420 回答