Diretivas que aceitam Expressões Regulares
Módulo | Diretiva | Formato | Onde |
---|---|---|---|
core | <Directory> | ~ er | sv |
<DirectoryMatch> | er | sv | |
<Files> | ~ er | svdh | |
<FilesMatch> | er | svdh | |
<Location> | ~ er | sv | |
<LocationMatch> | er | sv | |
<If> | … =~ /er/ | svdh | |
<ElseIf> | … =~ /er/ | svdh | |
mod_authz_core | Require | … =~ /er/ | dh |
mod_alias | AliasMatch | er | sv |
RedirectMatch | er | svdh | |
ScriptAliasMatch | er | sv | |
mod_headers | Header | er | svdh |
RequestHeader | er | svdh | |
mod_log_debug | LogMessage | … =~ /er/ | d |
mod_log_config | CustomLog | … =~ /er/ | sv |
mod_proxy | <ProxyMatch> | er | sv |
ProxyPassMatch | er | svd | |
ProxyRemoteMatch | er | sv | |
mod_rewrite | RewriteCond | er | svdh |
RewriteRule | er | svdh | |
mod_setenvif | BrowserMatch | er | svdh |
BrowserMatchNoCase | er | svdh | |
SetEnvIf | er | svdh | |
SetEnvIfExpr | … =~ /er/ | svdh | |
SetEnvIfNoCase | er | svdh | |
mod_substitute | Substitute | s/// | dh |
mod_version | <IfVersion> | ~ er | svdh |
Legenda: (s)erver, (v)host, (d)irectory, (h)taccess |
mod_rewrite
O mod_rewrite é muito complexo. É preciso ler muito sobre ele para entender seu funcionamento e criar suas regras com mais sabedoria e confiança. Invista um tempo para estudar estes documentos, nesta ordem:
- http://httpd.apache.org/docs/current/rewrite/intro.html
- http://httpd.apache.org/docs/current/mod/mod_rewrite.html
- http://httpd.apache.org/docs/current/rewrite/flags.html
- http://httpd.apache.org/docs/current/rewrite/remapping.html
- http://httpd.apache.org/docs/current/rewrite/avoid.html
- http://httpd.apache.org/docs/current/rewrite/tech.html
Os retrovisores são parte importante do mod_rewrite, inclusive há dois tipos de retrovisores: $1 para grupos do RewriteRule e %1 para grupos do RewriteCond:
Fonte: http://httpd.apache.org/docs/current/images/rewrite_backreferences.png
Links
Directive Quick Reference Lista completa com todas as diretivas do Apache, com links para sua documentação.
How the sections are merged Saiba mais sobre a ordem de execução das diretivas: primeiro todas as
<Directory>
, depois suas equivalentes regex (<Directory ~ ...>
e<DirectoryMatch>
) e depois vem na filaFiles*
,Location*
eIf
.Apache RewriteRule and query string Artigo rápido e bem explicado sobre como lidar com as query strings da URL original ao usar o mod_rewrite.
Wiki — mod_rewrite recipes and guides Wiki oficial dos usuários do Apache, com vários artigos pequenos, com dics valiosas. Recomendo a leitura dos artigos desta seção especial sobre o mod_rewrite.
Apache mod_rewrite Portal de entrada para a documentação do mod_rewrite, com vários links para outros documentos sobre ele.