Module ngx_http_sub_module

The ngx_http_sub_module module is a filter that modifies a response by replacing one specified string by another.

This module is not built by default, it should be enabled with the --with-http_sub_module configuration parameter.

Example Configuration

location / {
    sub_filter '<a href="'  '<a href="https://$host/';
    sub_filter '<img src="' '<img src="https://$host/';
    sub_filter_once on;


Syntax: sub_filter string replacement;
Context: http, server, location

Sets a string to replace and a replacement string. The string to replace is matched ignoring the case. The string to replace (1.9.4) and replacement string can contain variables. Several sub_filter directives can be specified on one configuration level (1.9.4). These directives are inherited from the previous level if and only if there are no sub_filter directives defined on the current level.

Syntax: sub_filter_last_modified on | off;
Default: sub_filter_last_modified off;
Context: http, server, location

This directive appeared in version 1.5.1.

Allows preserving the “Last-Modified” header field from the original response during replacement to facilitate response caching.

By default, the header field is removed as contents of the response are modified during processing.

Syntax: sub_filter_once on | off;
Default: sub_filter_once on;
Context: http, server, location

Indicates whether to look for each string to replace once or repeatedly.

Syntax: sub_filter_types mime-type ...;
Default: sub_filter_types text/html;
Context: http, server, location

Enables string replacement in responses with the specified MIME types in addition to “text/html”. The special value “*” matches any MIME type (0.8.29).

© 2002-2017 Igor Sysoev
© 2011-2017 Nginx, Inc.
Licensed under the BSD License.