2

現在、かなり標準的なワニス/Apacheのセットアップを実行しているWebサイトの世話をしています。クライアントは、サイトの軽量バージョンを作成するために、パス/クエリ文字列から透過的に機能する新しいドメインを追加する必要があります。例えば:

ユーザーは、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 に答える