Diretivas que aceitam Expressões Regulares
| Módulo | Diretiva | Match |
|---|---|---|
| HTTP Core | location ~ ER { … } | n |
| location ~* ER { … } | i | |
| server_name ~ ER; | i | |
| HTTP FastCGI | fastcgi_split_path_info ER; | n |
| HTTP Gzip | gzip_disable "ER"; | i |
| HTTP Map | map … { …; ~ER 1; } | n |
| map … { …; ~*ER 1; } | i | |
| HTTP Proxy | proxy_cookie_domain ~ER texto; | i |
| proxy_cookie_path ~ER texto; | n | |
| proxy_cookie_path ~*ER texto; | i | |
| proxy_redirect ~ER texto; | n | |
| proxy_redirect ~*ER texto; | i | |
| HTTP Referer | valid_referers ~ER; | i |
| HTTP Rewrite | if ($var ~ ER) { … } | n |
| if ($var ~* ER) { … } | i | |
| if ($var !~ ER) { … } | ! | |
| if ($var !~* ER) { … } | !i | |
| rewrite ER texto; | n | |
| HTTP SSI | <!--# if expr="$var = /ER/" --> | n |
| <!--# if expr="$var != /ER/" --> | ! | |
| HTTP Upstream | match nome { campo ~ ER; } | n |
| match nome { campo !~ ER; } | ! | |
| Stream Upstream | match nome { expect ~ ER; } | n |
| match nome { expect ~* ER; } | i | |
| Legenda: (n)ormal, (i)gnorecase, (!)negado | ||
Dicas
- O Nginx usa PCRE.
- Sempre use aspas para proteger a regex.
- Casamentos parciais são sempre válidos.
- As diretivas principais com suporte a regex são:
server_name,location,iferewrite. - Use grupos nomeados na regex para criar variáveis que podem ser utilizadas em outras diretivas.
Links
-
Server names Artigo que demostra os tipos de valores que podem ser usados na diretiva
server_name, e como eles são processados. É importante entender bem as regras de precedência entre casamentos exatos, com asterisco e com expressões regulares. -
How nginx processes a request Artigo resumido que explica todos os passos que o Nginx faz ao receber uma requisição. É importante entender bem as regras de precedência entre casamentos exatos, de prefixo e com expressões regulares.
-
Understanding Nginx Server and Location Block Selection Algorithms Mesma proposta do artigo anterior, porém este é um guia completo, muito bem escrito, que explica em detalhes o funcionamento do Nginx ao processar uma requisição. Bom para entender como funciona o algoritmo, e assim poder escrever os blocos
serverelocationcom confiança. -
Converting rewrite rules Guia rápido com algumas dicas de como converter para o Nginx as regras do
mod_rewritedo Apache.