5

ページを提供または保存する前に (vcl_fetch?)、ワニス キャッシュ サーバーでバックエンドからページ内のコンテンツを置き換える (つまり、div のクラスを変更する) ようにするにはどうすればよいですか?

ワニスでネイティブにサポートされていると思うので、単純な正規表現を使用して置換を実行したいと思います。

4

1 に答える 1

6

応答本文の変更は、Varnish ではネイティブにサポートされていません。これには Varnish モジュール (vmod) が必要です。

Aivars Kalvans にはlibvmod-rewriteがあり、まさにあなたが探しているものを実行します。ただし、vmod は概念実証であり、Aivars によると、本番環境で使用する準備はできていません。あらゆる場合の出発点として使用できます。

Apache を使用している場合は、mod_ext_filterを使用して応答本文を変更できます。mod_ext_filters ドキュメントの例を次に示します。レスポンスボディは任意の外部コマンドに渡すことができるため、コンテンツに必要な変更を行うのは非常に簡単です。

# mod_ext_filter directive to define a filter which
# replaces text in the response
#
ExtFilterDefine fixtext mode=output intype=text/html cmd="/bin/sed s/verdana/arial/g"

<Location />
# core directive to cause the fixtext filter to
# be run on output
SetOutputFilter fixtext
</Location> 
于 2013-04-05T07:26:14.650 に答える