====== Substitutions (Nginx) ======
Módulo para substituição em tempo real de strings em páginas e arquivos de texto entregues pelo Nginx.
Esta substituição pode ser feita por **strings já determinadas** ou através de **expressões regulares**.
> **Obs.:** Este módulo só está disponível em versões compiladas do Nginx.
===== Diretivas e sintaxes =====
As diretivas abaixo podem ser utilizadas nos blocos **http**, **server** e **location**.
==== subs_filter_types ====
subs_filter_types text/html text/css text/xml [...];
Diretiva que determina os tipos de arquivo nos quais o módulo de substituição vai agir. Quando não informado, só é processado o tipo **text/html**.
==== subs_filter ====
subs_filter [string-origem] [string-destino] [flags]*
Diretiva que realiza a substituição das strings.
Nas strings é possível utilizar as **variáveis** do Nginx como: ''$host'', ''$server_name'', ''$scheme'', ''$1'', ''$2'', etc...
**Flags:**
* ''g'': Realiza a substituição em todas as ocorrências da string de origem. Quando não são informadas flags, está é a opção padrão.
* ''i'': Deixa o critério de pesquisa em **case-insensitive**.
* ''o'': Só realiza a substituição na 1a. ocorrência que encontrar (**once**). Esta opção mata a flag ''g''.
* ''r'': Processa a string de origem como **expressão regular**.
As flags são cumulativas e podem ser informadas juntas e sem espaços entre elas. Vide exemplo:
subs_filter "st(\d*).example.com" "$1.example.com" ir;
No exemplo acima, a pesquisa de substituição utiliza os critérios de **case-insensitive** (''i'') e **expressão regular** (''r'').
===== Fontes =====
* Substitutions: [[https://www.nginx.com/resources/wiki/modules/substitutions]]
* 3rd Party Modules: [[https://www.nginx.com/resources/wiki/modules]]
* GitHub: [[https://github.com/yaoweibin/ngx_http_substitutions_filter_module]]