diff --git a/Translations/Portuguese-BR/README.md b/Translations/Portuguese-BR/README.md
index 996e3b0..77043df 100644
--- a/Translations/Portuguese-BR/README.md
+++ b/Translations/Portuguese-BR/README.md
@@ -1,321 +1,1194 @@
-# .htaccess Snippets
-Uma coleção de snippets .htaccess úteis, tudo em um só lugar.
-
-**Disclaimer**: ao deixar cair o trecho em um arquivo `.htaccess` é a maior parte do tempo suficiente, há casos em que algumas modificações podem ser necessárias. Use por sua conta e risco.
-
-**IMPORTANTE**: Apache 2.4 introduz algumas alterações significativas, principalmente na configuração de controle de acesso. Para mais informações, consulte o [upgrading document](https://httpd.apache.org/docs/2.4/upgrading.html) bem como [this issue](https://github.com/phanan/htaccess/issues/2).
+# Trechos de Códigos .htaccess [](https://github.com/sindresorhus/awesome)
+
+[Français](https://github.com/phanan/htaccess/tree/master/Translations/French)
+ •
+[Deutsche](https://github.com/phanan/htaccess/tree/master/Translations/German)
+ •
+[Italiano](https://github.com/phanan/htaccess/tree/master/Translations/Italian)
+ •
+[日本人](https://github.com/phanan/htaccess/tree/master/Translations/Japanese)
+ •
+[Português Brasileiro](https://github.com/phanan/htaccess/tree/master/Translations/Portuguese-BR)
+ •
+[Pусский](https://github.com/phanan/htaccess/tree/master/Translations/Russian)
+ •
+[Cлова:](https://github.com/phanan/htaccess/tree/master/Translations/Slovak)
+
+Uma coleção de trechos de códigos úteis para arquivos `.htaccess`, todos em um só lugar.
+
+**Nota:** Os arquivos `.htaccess` são úteis para as pessoas que não possuem direitos ou a permissão adequada
+para editar o arquivo principal de configuração do servidor. Esses arquivos são intrinsecamente mais lentos e
+complicados do que o arquivo principal de configuração. Consulte a [documentação oficial do Apache](#) para
+obter mais detalhes.
+
+**Importante:** O `Apache 2.4` apresenta algumas mudanças importantes, principalmente na configuração de
+controle de acesso. Para obter mais informações, acesse o [documento de atualização](#) e esta [issue](#).
+
+**Isenção de responsabilidade:** Embora copiar e colar trechos de códigos em um arquivo `.htaccess` seja na
+maioria das vezes o suficiente, há casos em que certas modificações sejam necessárias. Use por sua conta e
+risco.
## Créditos
-O que estamos fazendo aqui é principalmente a coleta trechos úteis de todo o interwebs (por exemplo, uma boa parte é de
-[Apache Server Configs](https://github.com/h5bp/server-configs-apache)) em um só lugar. Enquanto estamos tentando dar crédito onde, devido, as coisas podem estar em falta. Se você acreditar em qualquer coisa que está aqui deve ser dado o seu trabalho e créditos, avise-nos, ou apenas enviar uma PR.
-
-## Tabela de Conteúdo
-- [Rewrite and Redirection](#rewrite-and-redirection)
- - [Force www](#force-www)
- - [Force www in a Generic Way](#force-www-in-a-generic-way)
- - [Force non-www](#force-non-www)
- - [Force non-www in a Generic Way](#force-non-www-in-a-generic-way)
- - [Force HTTPS](#force-https)
- - [Force HTTPS Behind a Proxy](#force-https-behind-a-proxy)
- - [Force Trailing Slash](#force-trailing-slash)
- - [Remove Trailing Slash](#remove-trailing-slash)
- - [Redirect a Single Page](#redirect-a-single-page)
- - [Alias a Single Directory](#alias-a-single-directory)
- - [Alias Paths to Script](#alias-paths-to-script)
- - [Redirect an Entire Site](#redirect-an-entire-site)
- - [Alias "Clean" URLs](#alias-clean-urls)
-- [Security](#security)
- - [Deny All Access](#deny-all-access)
- - [Deny All Access Except Yours](#deny-all-access-except-yours)
- - [Allow All Access Except Spammers'](#allow-all-access-except-spammers)
- - [Deny Access to Hidden Files and Directories](#deny-access-to-hidden-files-and-directories)
- - [Deny Access to Backup and Source Files](#deny-access-to-backup-and-source-files)
- - [Disable Directory Browsing](#disable-directory-browsing)
- - [Disable Image Hotlinking](#disable-image-hotlinking)
- - [Disable Image Hotlinking for Specific Domains](#disable-image-hotlinking-for-specific-domains)
- - [Password Protect a Directory](#password-protect-a-directory)
- - [Password Protect a File or Several Files](#password-protect-a-file-or-several-files)
- - [Block Visitors by Referrer](#block-visitors-by-referrer)
- - [Prevent Framing the Site](#prevent-framing-the-site)
-- [Performance](#performance)
- - [Compress Text Files](#compress-text-files)
- - [Set Expires Headers](#set-expires-headers)
- - [Turn eTags Off](#turn-etags-off)
-- [Miscellaneous](#miscellaneous)
- - [Set PHP Variables](#set-php-variables)
- - [Custom Error Pages](#custom-error-pages)
- - [Force Downloading](#force-downloading)
- - [Prevent Downloading](#prevent-downloading)
- - [Allow Cross-Domain Fonts](#allow-cross-domain-fonts)
- - [Auto UTF-8 Encode](#auto-utf-8-encode)
- - [Switch to Another PHP Version](#switch-to-another-php-version)
- - [Disable Internet Explorer Compatibility View](#disable-internet-explorer-compatibility-view)
- - [Serve WebP Images](#serve-webp-images)
-
-## Rewrite and Redirection
-Nota: Presume-se que você tem `mod_rewrite` instalado e habilitado.
-
-### Force www
-``` apacheconf
+O que fazemos aqui é percorrer a internet atrás de trechos de códigos úteis e reunir todos em um só lugar.
+Embora tentamos dar o devido crédito, pode ser que alguns trechos de códigos não tenham o devido crédito, além
+disso estamos falando da `internet`. Se você acredita que algum desses trechos de códigos seja de sua autoria
+e deseja ter o devido crédito, nos envie uma [pull request](#).
+
+## Índice
+
+- [Reescrever e redirecionar](#reescrever-e-redirecionar)
+
+ - [Forçar `www` na url](#forçar-www-na-url)
+ - [Forçar `www` na url de maneira genérica](#forçar-www-na-url-de-maneira-genérica)
+ - [Forçar a remoção do `www` da url](#forçar-a-remoção-do-www-da-url)
+ - [Forçar a remoção do `www` da url de maneira genérica](#forçar-a-remoção-do-www-da-url-de-maneira-genérica)
+ - [Forçar o uso de `HTTPS`](#forçar-o-uso-de-https)
+ - [Forçar o uso de `HTTPS` por trás de um `proxy`](#forçar-o-uso-de-https-por-trás-de-um-proxy)
+ - [Forçar `\` no final da url](#forçar--no-final-da-url)
+ - [Remover `\` no final da url](#remover--no-final-da-url)
+ - [Redirecionar uma única página](#redirecionar-uma-única-página)
+ - [Redirecionar utilizando a directiva `RedirectMatch`](#redirecionar-utilizando-a-directiva-redirectmatch)
+ - [Alias para redirecionar de um diretório para outro com a directiva `RewriteRule`](#alias-para-redirecionar-de-um-diretório-para-outro-com-a-directiva-rewriterule)
+ - [Alias para redirecionar todas as solicitações de um diretório para um único arquivo](#alias-para-redirecionar-todas-as-solicitações-de-um-diretório-para-um-único-arquivo)
+ - [Redirecionar um site inteiro](#redirecionar-um-site-inteiro)
+ - [Limpar a `url` de extensões `PHP`](#limpar-a-url-de-extensões-php)
+ - [Excluir uma `url` de um redirecionamento](#excluir-uma-url-de-um-redirecionamento)
+
+- [Segurança](#segurança)
+
+ - [Negar acesso total](#negar-acesso-total)
+ - [Negar acesso total, exceto o seu `ip`](#negar-acesso-total-exceto-o-seu-ip)
+ - [Permitir acesso total, exceto `spammers`](#permitir-acesso-total-exceto-spammers)
+ - [Negar acesso a arquivos e diretórios ocultos](#negar-acesso-a-arquivos-e-diretórios-ocultos)
+ - [Negar acesso a arquivos de backup e de origem](#negar-acesso-a-arquivos-de-backup-e-de-origem)
+ - [Desativar a navegação de um diretório](#desativar-a-navegação-de-um-diretório)
+ - [Desativar links de imagens](#desativar-links-de-imagens)
+ - [Desativar links de imagens de domínios específicos](#desativar-links-de-imagens-de-domínios-específicos)
+ - [Proteger um diretório com senha](#proteger-um-diretório-com-senha)
+ - [Proteger um ou vários arquivos com senha](#proteger-um-ou-vários-arquivos-com-senha)
+ - [Bloquear visitantes de sites referenciadores específicos](#bloquear-visitantes-de-sites-referenciadores-específicos)
+ - [Impedir o enquadramento de um site](#impedir-o-enquadramento-de-um-site)
+
+- [Desempenho](#desempenho)
+
+ - [Compactar arquivos de texto](#compactar-arquivos-de-texto)
+ - [Definir cabeçalhos de expiração](#definir-cabeçalhos-de-expiração)
+ - [Desligar o `HTTP ETag`: Mecanismo de validação condicional de cache](#desligar-o-http-etag-mecanismo-de-validação-condicional-de-cache)
+
+- [Diversos](#diversos)
+
+ - [Definir variáveis `PHP`](#definir-variáveis-php)
+ - [Páginas de erro personalizadas](#páginas-de-erro-personalizadas)
+ - [Forçar `download` de arquivos](#forçar-download-de-arquivos)
+ - [Impedir `download` para visualização de arquivos](#impedir-download-para-visualização-de-arquivos)
+ - [Permitir `webfonts` de todos os domínios](#permitir-webfonts-de-todos-os-domínios)
+ - [Definir o tipo de codificação automaticamente em arquivos específicos](#definir-o-tipo-de-codificação-automaticamente-em-arquivos-específicos)
+ - [Mudar a versão do `PHP` para uma aplicação ou tarefa específica](#mudar-a-versão-do-php-para-uma-aplicação-ou-tarefa-específica)
+ - [Desativar o modo de exibição de compatibilidade do Internet Explorer](#desativar-o-modo-de-exibição-de-compatibilidade-do-internet-explorer)
+ - [Permitir a exibição/veiculação de imagens `.webp`](#permitir-a-exibiçãoveiculação-de-imagens-webp)
+
+## Reescrever e redirecionar
+
+**Nota:** Presume-se que você tenha os módulos de reescrita `mod_rewrite` e alias `mod_alias` instalados e
+ativos no seu servidor.
+
+### Forçar `www` na url
+
+**Fonte:** [Stack Overflow](https://stackoverflow.com/q/4916222)
+
+Esse trecho de código funciona em qualquer domínio.
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{HTTP_HOST} ^example\.com [NC]
-RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
+
+# Regra para reescrita da url
+RewriteRule ^(.*)$ http://www.example.com/$1 [L, R=301, NC]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{HTTP_HOST} ^example\.com [NC]
+
+ # Regra para reescrita da url
+ RewriteRule ^(.*)$ http://www.example.com/$1 [L, R=301, NC]
+
```
-### Force www in a Generic Way
-``` apacheconf
+[Próximo código](#forçar-www-na-url-de-maneira-genérica) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar `www` na url de maneira genérica
+
+**Fonte:** [Stack Overflow](https://stackoverflow.com/a/4958847)
+
+Esse trecho de código funciona em qualquer domínio.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
-RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
+
+# Regra para reescrita da url
+RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301, L]
```
-Isso funciona para _any_ domain. [Source](https://stackoverflow.com/questions/4916222/htaccess-how-to-force-www-in-a-generic-way)
-### Force non-www
-It's [still](http://www.sitepoint.com/domain-www-or-no-www/) [open](https://devcenter.heroku.com/articles/apex-domains) [for](http://yes-www.org/) [debate](http://no-www.org/) se www ou non-www é o caminho a percorrer, por isso, se acontecer de você ser um fã de domínios descalços, aqui você vai:
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{HTTP_HOST} !^$
+ RewriteCond %{HTTP_HOST} !^www\. [NC]
+ RewriteCond %{HTTPS}s ^on(s)|
+
+ # Regra para reescrita da url
+ RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301, L]
+
+```
+
+[Próximo código](#forçar-a-remoção-do-www-da-url) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar a remoção do `www` da url
+
+**Fonte:** Desconhecida
+
+Esse assunto ainda está aberto para [debates](https://www.sitepoint.com/domain-www-or-no-www/), se o melhor
+caminho é utilizar o [`www`](http://yes-www.org) ou remover o [`www`](http://no-www.org/) da `url`. Caso você
+tenha uma preferência em domínios... como podemos dizer... `descalços` ou `desfragmentados`, esse trecho de
+código é pra você.
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
-RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
+
+# Regra para reescrita da url
+RewriteRule ^(.*)$ http://example.com/$1 [L, R=301]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
+
+ # Regra para reescrita da url
+ RewriteRule ^(.*)$ http://example.com/$1 [L, R=301]
+
```
-### Force non-www in a Generic Way
-``` apacheconf
+[Próximo código](#forçar-a-remoção-do-www-da-url-de-maneira-genérica) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar a remoção do `www` da url de maneira genérica
+
+**Fonte:** Desconhecida
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
-RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
+
+# Regra para reescrita da url
+RewriteRule ^ %1%3%{REQUEST_URI} [R=301, L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{HTTP_HOST} ^www\.
+ RewriteCond %{HTTPS}s ^on(s)|off
+ RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
+
+ # Regra para reescrita da url
+ RewriteRule ^ %1%3%{REQUEST_URI} [R=301, L]
+
```
-### Force HTTPS
-``` apacheconf
+[Próximo código](#forçar-o-uso-de-https) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar o uso de `HTTPS`
+
+**Fonte:** Desconhecida
+
+**Importante:** É recomendado habilitar o `HTTP Strict Transport Security (HSTS)` em seu site juntamente com
+`HTTPS` para ajudar a previnir ataques `man in the middle`. Consulte [Developer Mozilla](https://mzl.la/2QlMgAg)
+para mais informações.
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{HTTPS} !on
+
+# Regra para reescrita da url
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
-# Nota: Também é recomendável habilitar HTTP Strict Transport Segurança (HSTS)
-# Em seu site HTTPS para ajudar a prevenir ataques man-in-the-middle.
-# Veja https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
+# Habilita o HTTP Strict Transport Security (HSTS)
+# Remova 'includeSubDomains' se não quiser aplicar HSTS em todos os subdomínios
+Header always set Strict-Transport-Security "max-age=31536000;includeSubDomains"
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{HTTPS} !on
+
+ # Regra para reescrita da url
+ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
+
+
+# Verifica se o módulo está instalado
- Header sempre definido Strict-Transport-Security "max-age=31536000; includeSubDomains"
+
+ # Habilita o HTTP Strict Transport Security (HSTS)
+ # Remova 'includeSubDomains' se não quiser aplicar HSTS em todos os subdomínios
+ Header always set Strict-Transport-Security "max-age=31536000;includeSubDomains"
```
-### Force HTTPS Behind a Proxy
-Útil se você tiver um proxy na frente do seu servidor a realização de terminação TLS.
-``` apacheconf
+[Próximo código](#forçar-o-uso-de-https-por-trás-de-um-proxy) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar o uso de `HTTPS` por trás de um `proxy`
+
+**Fonte:** Desconhecida
+
+**Importante:** Esse código é útil se você estiver utilizando um proxy que esteja executando uma terminação
+`TLS`.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{HTTP:X-Forwarded-Proto} !https
+
+# Regra para reescrita da url
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
```
-### Force Trailing Slash
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{HTTP:X-Forwarded-Proto} !https
+
+ # Regra para reescrita da url
+ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
+
+```
+
+[Próximo código](#forçar--no-final-da-url) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar `\` no final da url
+
+**Fonte:** Desconhecida
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{REQUEST_URI} /+[^\.]+$
-RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
+
+# Regra para reescrita da url
+RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301, L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{REQUEST_URI} /+[^\.]+$
+
+ # Regra para reescrita da url
+ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301, L]
+
```
-### Remove Trailing Slash
-``` apacheconf
+[Próximo código](#remover--no-final-da-url) • [Voltar ao índice](#índice)
+
+---
+
+### Remover `\` no final da url
+
+**Fonte:** [Stack Overflow](https://stackoverflow.com/a/27264788)
+
+**Importante:** Esse código redireciona dos caminhos que terminam com `\` para as suas contrapartes sem `\`
+(exceto para diretórios reais), por exemplo, de `http://example.com/blog/` para `http://example.com/blog`.
+Isso é importante para [`SEO`](https://bit.ly/2EvlDWW), pois é recomendável ter uma
+[`url` canônica](https://bit.ly/34KjSQX) em cada página.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^(.*)/$ /$1 [R=301,L]
+RewriteCond %{REQUEST_URI} (.+)/$
+
+# Regra para reescrita da url
+RewriteRule ^ %1 [R=301, L]
```
-### Redirect a Single Page
-``` apacheconf
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_URI} (.+)/$
+
+ # Regra para reescrita da url
+ RewriteRule ^ %1 [R=301, L]
+
+```
+
+[Próximo código](#redirecionar-uma-única-página) • [Voltar ao índice](#índice)
+
+---
+
+### Redirecionar uma única página
+
+**Fonte:** [CSS Tricks](https://bit.ly/31ssjOF)
+
+```apacheconf
+# Condições necessárias para redirecionar
Redirect 301 /oldpage.html http://www.example.com/newpage.html
Redirect 301 /oldpage2.html http://www.example.com/folder/
```
-[Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
-### Alias a Single Directory
-``` apacheconf
-RewriteEngine On
-RewriteRule ^source-directory/(.*) target-directory/$1
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Condições necessárias para redirecionar
+ Redirect 301 /oldpage.html http://www.example.com/newpage.html
+ Redirect 301 /oldpage2.html http://www.example.com/folder/
+
+```
+
+[Próximo código](#redirecionar-utilizando-a-directiva-redirectmatch) • [Voltar ao índice](#índice)
+
+---
+
+### Redirecionar utilizando a directiva `RedirectMatch`
+
+**Fonte:** [Ask Apache](https://bit.ly/3gAeH8s)
+
+```apacheconf
+# Condições necessárias para redirecionar
+RedirectMatch 301 /subdirectory(.*) http://www.newsite.com/newfolder/$1
+RedirectMatch 301 ^/(.*).htm$ /$1.html
+RedirectMatch 301 ^/200([0-9])/([^01])(.*)$ /$2$3
+RedirectMatch 301 ^/category/(.*)$ /$1
+RedirectMatch 301 ^/(.*)/htaccesselite-ultimate-htaccess-article.html(.*) /htaccess/htaccess.html
+RedirectMatch 301 ^/(.*).html/1/(.*) /$1.html$2
+RedirectMatch 301 ^/manual/(.*)$ http://www.php.net/manual/$1
+RedirectMatch 301 ^/dreamweaver/(.*)$ /tools/$1
+RedirectMatch 301 ^/z/(.*)$ http://static.askapache.com/$1
```
-### Alias Paths to Script
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Condições necessárias para redirecionar
+ RedirectMatch 301 /subdirectory(.*) http://www.newsite.com/newfolder/$1
+ RedirectMatch 301 ^/(.*).htm$ /$1.html
+ RedirectMatch 301 ^/200([0-9])/([^01])(.*)$ /$2$3
+ RedirectMatch 301 ^/category/(.*)$ /$1
+ RedirectMatch 301 ^/(.*)/htaccesselite-ultimate-htaccess-article.html(.*) /htaccess/htaccess.html
+ RedirectMatch 301 ^/(.*).html/1/(.*) /$1.html$2
+ RedirectMatch 301 ^/manual/(.*)$ http://www.php.net/manual/$1
+ RedirectMatch 301 ^/dreamweaver/(.*)$ /tools/$1
+ RedirectMatch 301 ^/z/(.*)$ http://static.askapache.com/$1
+
+```
+
+[Próximo código](#alias-para-redirecionar-de-um-diretório-para-outro-com-a-directiva-rewriterule) • [Voltar ao índice](#índice)
+
+---
+
+### Alias para redirecionar de um diretório para outro com a directiva `RewriteRule`
+
+**Fonte:** Desconhecida
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Regra para reescrita da url
+RewriteRule ^source-directory/(.*) /target-directory/$1 [R=301,L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Regra para reescrita da url
+ RewriteRule ^source-directory/(.*) /target-directory/$1 [R=301,L]
+
+```
+
+[Próximo código](#alias-para-redirecionar-todas-as-solicitações-de-um-diretório-para-um-único-arquivo) • [Voltar ao índice](#índice)
+
+---
+
+### Alias para redirecionar todas as solicitações de um diretório para um único arquivo
+
+**Fonte:** Desconhecida
+
+Este código tem como exemplo um arquivo `index.fcgi`, onde este arquivo recebe todas as solicitações de um diretório, mesmo
+que falhem, são enviadas novamente para o arquivo `index.fcgi`. É bom se você deseja que `baz.foo/some/cool/path` seja tratado
+como `baz.foo/index.fcgi`.
+
+```bash
FallbackResource /index.fcgi
```
-Este exemplo tem um arquivo `index.fcgi` em algum diretório, e todos os pedidos dentro desse diretório que não conseguem resolver um diretório / nome do arquivo será enviado para o` script index.fcgi`. É bom se você quer `baz.foo / some / cool / path` a ser feitos pelo` baz.foo / index.fcgi` (que também suporta pedidos de `baz.foo`), mantendo` baz.foo/css/ style.css` e semelhantes. Tenha acesso ao caminho original da variável de ambiente PATH_INFO, como exposto no seu ambiente de script.
-``` apacheconf
-RewriteEngine On
+Esta é uma versão menos eficiente da diretiva `FallbackResource` (porque usar `mod_rewrite` é mais complexo do que apenas manipular a directiva `FallbackResource`), mas também é mais flexível.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Regra para reescrita da url
RewriteRule ^$ index.fcgi/ [QSA,L]
+
+# Condições necessárias para reescrita
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
+
+# Regra para reescrita da url
+RewriteRule ^$ index.fcgi/ [QSA,L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Regra para reescrita da url
+ RewriteRule ^$ index.fcgi/ [QSA,L]
+
+ # Condições necessárias para reescrita
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+
+ # Regra para reescrita da url
+ RewriteRule ^$ index.fcgi/ [QSA,L]
+
```
-Esta é uma versão menos eficiente da directiva FallbackResource (porque o uso do `mod_rewrite` é mais complexa do que apenas lidar com o` directiva FallbackResource`), mas também é mais flexível.
-### Redirect an Entire Site
-``` apacheconf
+[Próximo código](#redirecionar-um-site-inteiro) • [Voltar ao índice](#índice)
+
+---
+
+### Redirecionar um site inteiro
+
+**Fonte:** [CSS Tricks](https://bit.ly/31w6zkI)
+
+Esse código é útil se você estiver 'movendo' um site para um novo domínio, pois ele mantém todos os links intactos, por exemplo,
+`www.oldsite.com/some/crazy/link.html` automaticamente se torna `www.newsite.com/some/crazy/link.html`.
+
+```apacheconf
+# Condição necessária para redirecionar
Redirect 301 / http://newsite.com/
```
-Desta forma, faz com links intactos. Ou seja `www.oldsite.com/some/crazy/link.html` se tornará `www.newsite.com/some/crazy/link.html`. Isto é extremamente útil quando você é apenas "moving" um site para um novo domínio. [Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
-### Alias "Clean" URLs
-Este trecho permite que você use "clean" URLs -- aqueles sem uma extensão do PHP, por exemplo `example.com/users` em vez de `example.com/users.php`.
-``` apacheconf
-RewriteEngine On
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Condição necessária para redirecionar
+ Redirect 301 / http://newsite.com/
+
+```
+
+[Próximo código](#limpar-a-url-de-extensões-php) • [Voltar ao índice](#índice)
+
+---
+
+### Limpar a `url` de extensões `PHP`
+
+**Fonte:** [A Beautiful Site](https://bit.ly/3hwl4e9)
+
+Esse código permite que você utilize `urls` mais limpas, por exemplo, em vez de `http://example.com/user.php` usamos `http://example.com/users`.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condição necessária para reescrita
RewriteCond %{SCRIPT_FILENAME} !-d
-RewriteRule ^([^.]+)$ $1.php [NC,L]
+
+# Regra para reescrita da url
+RewriteRule ^([^.]+)$ $1.php [NC, L]
```
-[Source](http://www.abeautifulsite.net/access-pages-without-the-php-extension-using-htaccess/)
-## Security
-### Deny All Access
-``` apacheconf
-## Apache 2.2
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condição necessária para reescrita
+ RewriteCond %{SCRIPT_FILENAME} !-d
+
+ # Regra para reescrita da url
+ RewriteRule ^([^.]+)$ $1.php [NC, L]
+
+```
+
+[Próximo código](#excluir-uma-url-de-um-redirecionamento) • [Voltar ao índice](#índice)
+
+---
+
+### Excluir uma `url` de um redirecionamento
+
+**Fonte:** Desconhecida
+
+Este código permite que você exclua uma `url` de um redirecionamento. Por exemplo, se você tiver regras de redirecionamento pré-configuradas, mas deseja excluir o arquivo `robots.txt` do redirecionamento para que os mecanismos de pesquisa possam acessar esse arquivo conforme o esperado. Utilize:
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Regra para reescrita da url
+RewriteRule ^robots.txt - [L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Regra para reescrita da url
+ RewriteRule ^robots.txt - [L]
+
+```
+
+[Próxima seção](#segurança) • [Voltar ao índice](#índice)
+
+---
+
+## Segurança
+
+**Nota:** O controle de acesso pode ser feito por vários módulos diferentes. Os mais importantes são `mod_authz_core` e `mod_authz_host`. Para mais informações consulte a seção de [controle de acesso](https://bit.ly/32q61fz) na documentação do Apache.
+
+### Negar acesso total
+
+**Fonte:** Desconhecida
+
+Esse código também não vai permitir que você acesso o conteúdo. O próximo trecho de código pode ser mais útil.
+
+```apacheconf
+# Apache 2.2
Deny from all
-## Apache 2.4
-# Require all denied
+# Apache 2.4
+Require all denied
```
-Mas espere, isso irá bloqueá-lo a partir do seu conteúdo, bem! Assim, a introdução de ...
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+
+ # Apache 2.2
+ Deny from all
+
+ # Apache 2.4
+ Require all denied
+
+```
+
+[Próximo código](#negar-acesso-total-exceto-o-seu-ip) • [Voltar ao índice](#índice)
+
+---
+
+### Negar acesso total, exceto o seu `ip`
-### Deny All Access Except Yours
-``` apacheconf
-## Apache 2.2
-Order deny,allow
+**Fonte:** [Specky Boy](https://bit.ly/2QrCahk)
+
+O campo `xxx.xxx.xxx.xxx` é onde você vai colocar o seu `ip`. Se você substituir os últimos três dígitos por, `0/12` por exemplo, isso especificará um intervalo de `ips` na mesma rede, evitando assim o trabalho de listar todos os `ips` permitidos separadamente.
+
+```apacheconf
+# Apache 2.2
+Order deny, allow
Deny from all
Allow from xxx.xxx.xxx.xxx
-## Apache 2.4
-# Require all denied
-# Require ip xxx.xxx.xxx.xxx
+# Apache 2.4
+Require all denied
+Require ip xxx.xxx.xxx.xxx
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+
+ # Apache 2.2
+ Order deny, allow
+ Deny from all
+ Allow from xxx.xxx.xxx.xxx
+
+ # Apache 2.4
+ Require all denied
+ Require ip xxx.xxx.xxx.xxx
+
```
-`xxx.xxx.xxx.xxx` é seu IP. Se você substituir os três últimos dígitos com 0/12 por exemplo, isso vai especificar um intervalo de IPs dentro da mesma rede, poupando-lhe o trabalho de listar todos os IPs autorizados separadamente. [Source](http://speckyboy.com/2013/01/08/useful-htaccess-snippets-and-hacks/)
-Agora é claro que há uma versão invertida:
+[Próximo código](#permitir-acesso-total-exceto-spammers) • [Voltar ao índice](#índice)
-### Allow All Access Except Spammers'
-``` apacheconf
-## Apache 2.2
-Order deny,allow
+---
+
+### Permitir acesso total, exceto `spammers`
+
+**Fonte:** Desconhecida
+
+```apacheconf
+# Apache 2.2
+Order deny, allow
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxy
-## Apache 2.4
-# Require all granted
-# Require not ip xxx.xxx.xxx.xxx
-# Require not ip xxx.xxx.xxx.xxy
+# Apache 2.4
+Require all granted
+Require not ip xxx.xxx.xxx.xxx
+Require not ip xxx.xxx.xxx.xxx
```
-### Deny Access to Hidden Files and Directories
-Arquivos e diretórios ocultos (aqueles cujos nomes começam com um ponto `.`) deve maioria, se não todos, o tempo ser assegurado. por exemplo: `.htaccess`, `.htpasswd`, `.git`, `.hg`...
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+
+ # Apache 2.2
+ Order deny, allow
+ Deny from xxx.xxx.xxx.xxx
+ Deny from xxx.xxx.xxx.xxy
+
+ # Apache 2.4
+ Require all granted
+ Require not ip xxx.xxx.xxx.xxx
+ Require not ip xxx.xxx.xxx.xxx
+
+```
+
+[Próximo código](#negar-acesso-a-arquivos-e-diretórios-ocultos) • [Voltar ao índice](#índice)
+
+---
+
+### Negar acesso a arquivos e diretórios ocultos
+
+**Fonte:** Desconhecida
+
+Arquivos e diretórios ocultos (são aqueles cujo nomes começam com um ponto `.`) devem ser protegidos na maior parte, senão em todo o tempo. Por exemplo: `.htaccess, .htpasswd, .git, .hg`.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
+
+# Regra para reescrita da url
RewriteRule "(^|/)\." - [F]
```
-Alternativamente, você pode simplesmente levantar uma `Not Found` erro, dando a cara atacante nenhuma pista:
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{SCRIPT_FILENAME} -d [OR]
+ RewriteCond %{SCRIPT_FILENAME} -f
+
+ # Regra para reescrita da url
+ RewriteRule "(^|/)\." - [F]
+
+```
+
+Uma alternativa mais segura:
+
+```apacheconf
RedirectMatch 404 /\..*$
```
-### Deny Access to Backup and Source Files
-Esses arquivos podem ser deixados por alguns editores de texto / html (como Vi / Vim) e representam um grande perigo de segurança, se exposto a público.
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Condição para redirecionar
+ RedirectMatch 404 /\..*$
+
+```
+
+[Próximo código](#negar-acesso-a-arquivos-de-backup-e-de-origem) • [Voltar ao índice](#índice)
+
+---
+
+### Negar acesso a arquivos de backup e de origem
+
+**Fonte:** [Github H5BP](https://bit.ly/2EAqkyH)
+
+Esses arquivos podem ser deixados por alguns editores de texto e representam um grande perigo de segurança se expostos publicamente.
+
+```apacheconf
+# Verifica e executa a ação nos tipos de arquivos especificados
- ## Apache 2.2
- Order allow,deny
+
+ # Apache 2.2
+ Order allow, deny
Deny from all
Satisfy All
- ## Apache 2.4
- # Require all denied
+ # Apache 2.4
+ Require all denied
```
-[Source](https://github.com/h5bp/server-configs-apache)
-### Disable Directory Browsing
-``` apacheconf
+[Próximo código](#desativar-a-navegação-de-um-diretório) • [Voltar ao índice](#índice)
+
+---
+
+### Desativar a navegação de um diretório
+
+**Fonte:** Desconhecida
+
+```apacheconf
Options All -Indexes
```
-### Disable Image Hotlinking
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+ Options All -Indexes
+
+```
+
+[Próximo código](#desativar-links-de-imagens) • [Voltar ao índice](#índice)
+
+---
+
+### Desativar links de imagens
+
+**Fonte:** Desconhecida
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
-# Remova a seguinte linha se você deseja bloquear referrer em branco também
-RewriteCond %{HTTP_REFERER} !^$
+# Condições necessárias para reescrita
+RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?example.com [NC]
-RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
-# Se você deseja exibir um banner "bloqueada" em lugar da imagem hotlink,
-# Substituir a regra acima, com:
-# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
+# Regra para reescrita da url
+RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC, F, L]
+```
+
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{HTTP_REFERER} !^$
+ RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?example.com [NC]
+
+ # Regra para reescrita da url
+ RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC, F, L]
+
```
-### Disable Image Hotlinking for Specific Domains
-Às vezes você quer desabilitar imagem hotlinking de alguns bandidos só.
-``` apacheconf
+Se você deseja exibir um banner com uma mensagem no lugar da imagem com hotlink, substitua a regra acima por:
+
+```apacheconf
+RewriteRule \. (jpe? g | png | gif | bmp) http://example.com/blocked.png [R, L]
+```
+
+[Próximo código](#desativar-links-de-imagens-de-domínios-específicos) • [Voltar ao índice](#índice)
+
+---
+
+### Desativar links de imagens de domínios específicos
+
+**Fonte:** Desconhecida
+
+Às vezes, você deseja desabilitar o hotlink de imagens apenas de alguns sites maliciosos.
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite2\.com [NC,OR]
-RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
-# Se você deseja exibir um banner "bloqueada" em lugar da imagem hotlink,
-# Substituir a regra acima, com:
-# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
+# Regra para reescrita da url
+RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC, F, L]
```
-### Password Protect a Directory
-Primeiro você precisa criar um arquivo `.htpasswd` em algum lugar do sistema:
-``` bash
-htpasswd -c /home/fellowship/.htpasswd boromir
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite\.com [NC,OR]
+ RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite2\.com [NC,OR]
+
+ # Regra para reescrita da url
+ RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC, F, L]
+
+```
+
+Se você deseja exibir um banner com uma mensagem no lugar da imagem com hotlink, substitua a regra acima por:
+
+```apacheconf
+RewriteRule \. (jpe? g | png | gif | bmp) http://example.com/blocked.png [R, L]
+```
+
+[Próximo código](#proteger-um-diretório-com-senha) • [Voltar ao índice](#índice)
+
+---
+
+### Proteger um diretório com senha
+
+**Fonte:** Desconhecida
+
+Primeiramente é necessário criar o arquivo com nome `.htpasswd` em algum lugar do seu sistema operacional, de preferência na sua pasta de usuários. Em seguida rode o comando:
+
+**Linux:**
+
+```bash
+htpasswd -c /home/john/.htpasswd johndoe
```
-Em seguida, você pode usá-lo para autenticação:
-``` apacheconf
+**Windows:**
+
+```bash
+htpasswd -c c:/users/john/.htpasswd johndoe
+```
+
+Agora podemos partir para a autenticação:
+
+```apacheconf
+# Tipo de autenticação
AuthType Basic
-AuthName "One does not simply"
-AuthUserFile /home/fellowship/.htpasswd
+
+# Nome: opcional
+AuthName "Diretório de imagens"
+
+# Linux: Caminho para o arquivo .htpasswd
+AuthUserFile /home/john/.htpasswd
+
+# Windows: Caminho para o arquivo .htpasswd
+AuthUserFile c:/users/john/.htpasswd
+
+# Directiva de validação
Require valid-user
```
-### Password Protect a File or Several Files
-``` apacheconf
-AuthName "One still does not simply"
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+
+ # Tipo de autenticação
+ AuthType Basic
+
+ # Nome: opcional
+ AuthName "Diretório de imagens"
+
+ # Linux: Caminho para o arquivo .htpasswd
+ AuthUserFile /home/john/.htpasswd
+
+ # Windows: Caminho para o arquivo .htpasswd
+ AuthUserFile c:/users/john/.htpasswd
+
+ # Directiva de validação
+ Require valid-user
+
+```
+
+[Próximo código](#proteger-um-ou-vários-arquivos-com-senha) • [Voltar ao índice](#índice)
+
+---
+
+### Proteger um ou vários arquivos com senha
+
+**Fonte:** Desconhecida
+
+Primeiramente é necessário criar o arquivo com nome `.htpasswd` em algum lugar do seu sistema operacional, de preferência na sua pasta de usuários. Em seguida rode o comando:
+
+**Linux:**
+
+```bash
+htpasswd -c /home/john/.htpasswd johndoe
+```
+
+**Windows:**
+
+```bash
+htpasswd -c c:/users/john/.htpasswd johndoe
+```
+
+Agora podemos partir para a autenticação:
+
+```apacheconf
+# Tipo de autenticação
AuthType Basic
-AuthUserFile /home/fellowship/.htpasswd
+# Nome: opcional
+AuthName "Diretório de imagens"
+
+# Linux: Caminho para o arquivo .htpasswd
+AuthUserFile /home/john/.htpasswd
+
+# Windows: Caminho para o arquivo .htpasswd
+AuthUserFile c:/users/john/.htpasswd
+
+# Arquivo a ser protegido
-Require valid-user
+ # Directiva de validação
+ Require valid-user
+# Arquivos a serem protegidos
-Require valid-user
+ # Directiva de validação
+ Require valid-user
```
-### Block Visitors by Referrer
-Este nega o acesso para todos os usuários que estão vindo de (indicado por) um domínio específico.
-[Source](http://www.htaccess-guide.com/deny-visitors-by-referrer/)
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Diretório a ser protegido
+
+
+ # Tipo de autenticação
+ AuthType Basic
+
+ # Nome: opcional
+ AuthName "Diretório de imagens"
+
+ # Linux: Caminho para o arquivo .htpasswd
+ AuthUserFile /home/john/.htpasswd
+
+ # Windows: Caminho para o arquivo .htpasswd
+ AuthUserFile c:/users/john/.htpasswd
+
+
+# Arquivo a ser protegido
+
+
+ # Directiva de validação
+ Require valid-user
+
+
+# Arquivos a serem protegidos
+
+
+ # Directiva de validação
+ Require valid-user
+
+```
+
+[Próximo código](#bloquear-visitantes-de-sites-referenciadores-específicos) • [Voltar ao índice](#índice)
+
+---
+
+### Bloquear visitantes de sites referenciadores específicos
+
+**Fonte:** [Htaccess Guide](https://bit.ly/3jgCVGj)
+
+Isso nega o acesso a todos os usuários que vêm de (referidos por) um domínio específico.
+
+```apacheconf
+# Ativa o motor de reescrita
RewriteEngine on
-# Options +FollowSymlinks
+
+# Condições necessárias para reescrita
RewriteCond %{HTTP_REFERER} somedomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} anotherdomain\.com
+
+# Regra para reescrita da url
RewriteRule .* - [F]
```
-### Prevent Framing the Site
-Isso impede que o site para ser enquadrado (ou seja, colocar em uma `iframe` tag), quando ainda permite o enquadramento para uma URI específica.
-``` apacheconf
+**Você também pode tentar:**
+
+```apacheconf
+# Verifica se o módulo está instalado
+
+
+ # Ativa o motor de reescrita
+ RewriteEngine on
+
+ # Condições necessárias para reescrita
+ RewriteCond %{HTTP_REFERER} somedomain\.com [NC,OR]
+ RewriteCond %{HTTP_REFERER} anotherdomain\.com
+
+ # Regra para reescrita da url
+ RewriteRule .* - [F]
+
+```
+
+[Próximo código](#impedir-o-enquadramento-de-um-site) • [Voltar ao índice](#índice)
+
+---
+
+### Impedir o enquadramento de um site
+
+**Fonte:** Desconhecida
+
+Esse código previne que o seu site seja enquadrado, ou seja, utilizado em um `iframe`, podendo permitir para domínios específicos.
+
+```apacheconf
SetEnvIf Request_URI "/starry-night" allow_framing=true
Header set X-Frame-Options SAMEORIGIN env=!allow_framing
```
-## Performance
-### Compress Text Files
-``` apacheconf
+[Próxima seção](#desempenho) • [Voltar ao índice](#índice)
+
+---
+
+## Desempenho
+
+### Compactar arquivos de texto
+
+**Fonte:** [GitHub H5bp](https://bit.ly/34CLuqV)
+
+Esse código força a compressão para cabeçalhos mutilados e compacta todas as saídas rotuladas com os tipos de `MIME` (para versões do Apache abaixo de 2.3.7, você não precisa habilitar `mod_filter` e pode remover o `` e ` IfModule>`, `AddOutputFilterByType` ainda está nas diretivas principais).
+
+```apacheconf
- # Force compression for mangled headers.
+ # Força a compressão para cabeçalhos mutilados.
# https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
@@ -324,10 +1197,10 @@ Header set X-Frame-Options SAMEORIGIN env=!allow_framing
- # Comprimir toda a saída marcada com um dos seguintes procedimentos MIME-types
- # (para versões do Apache 2.3.7 abaixo, você não precisa habilitar `mod_filter`
- # pode remover as linhas `` e ``
- # como `AddOutputFilterByType` ainda está em diretivas principais).
+ # Compacta todas as saídas rotuladas com os tipos de `MIME`
+ # (para versões do Apache abaixo de 2.3.7, você não precisa habilitar `mod_filter`
+ # e pode remover o` ` e ` IfModule>`, `AddOutputFilterByType`
+ # ainda está nas diretivas principais).
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
@@ -347,45 +1220,51 @@ Header set X-Frame-Options SAMEORIGIN env=!allow_framing
text/x-component \
text/xml
-
```
-[Source](https://github.com/h5bp/server-configs-apache)
+[Próximo código](#definir-cabeçalhos-de-expiração) • [Voltar ao índice](#índice)
-### Set Expires Headers
-_Expira headers_ dizer ao navegador se eles devem solicitar um arquivo específico do servidor ou apenas agarrá-lo a partir do cache. É aconselhável definir um conteúdo estática que expira no futuro.
-Se você não controlar o versionamento com cache baseado em filename, tem que considerar uma redução do tempo de cache para recursos como CSS e JS para algo como uma semana. [Source](https://github.com/h5bp/server-configs-apache)
-``` apacheconf
+---
+
+### Definir cabeçalhos de expiração
+
+**Fonte:** [GitHub H5bp](https://bit.ly/34CLuqV)
+
+Os `cabeçalhos de expiração` informam ao navegador se ele deve solicitar um arquivo específico do servidor ou apenas obtê-lo do cache. É aconselhável definir os cabeçalhos de expiração do conteúdo estático para algo distante no futuro.
+
+Se você não controla o controle de versão com impedimento de cache baseado em nome de arquivo, considere reduzir o tempo de cache para recursos como `CSS` e `JS` para algo como 1 semana.
+
+```apacheconf
ExpiresActive on
ExpiresDefault "access plus 1 month"
- # CSS
+ # Arquivos CSS
ExpiresByType text/css "access plus 1 year"
- # Data interchange
+ # Intercâmbio de dados
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
- # Favicon (cannot be renamed!)
+ # Favicons (Não pode ser renomeado)
ExpiresByType image/x-icon "access plus 1 week"
- # HTML components (HTCs)
+ # Components HTML (HTCs)
ExpiresByType text/x-component "access plus 1 month"
- # HTML
+ # Arquivos HTML
ExpiresByType text/html "access plus 0 seconds"
- # JavaScript
+ # Arquivos javascript
ExpiresByType application/javascript "access plus 1 year"
- # Manifest files
+ # Arquivos manifest
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
- # Media
+ # Arquivos de mídia
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
@@ -394,11 +1273,11 @@ Se você não controlar o versionamento com cache baseado em filename, tem que c
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
- # Web feeds
+ # Feeds da web
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
- # Web fonts
+ # Fontes da web
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
@@ -408,101 +1287,185 @@ Se você não controlar o versionamento com cache baseado em filename, tem que c
```
-### Turn eTags Off
-Ao remover o cabeçalho `ETag`, você desativar caches e navegadores de ser capaz de validar os arquivos, então eles são forçados a confiar em seu` Cache-Control` e `cabeçalho Expires`. [Source](http://www.askapache.com/htaccess/apache-speed-etags.html)
-``` apacheconf
+[Próximo código](#desligar-o-http-etag-mecanismo-de-validação-condicional-de-cache) • [Voltar ao índice](#índice)
+
+---
+
+### Desligar o `HTTP ETag`: Mecanismo de validação condicional de cache
+
+**Fonte:** [Ask Apache](https://bit.ly/3bdtp4d)
+
+Ao remover o cabeçalho `ETag`, você desabilita caches e navegadores de validar arquivos, então eles são forçados a confiar em seu cabeçalho `Cache-Control` e `Expires`.
+
+```apacheconf
Header unset ETag
+
FileETag None
```
-## Miscellaneous
+[Próxima seção](#diversos) • [Voltar ao índice](#índice)
+
+---
+
+## Diversos
-### Set PHP Variables
-``` apacheconf
+### Definir variáveis `PHP`
+
+**Fonte:** Desconhecida
+
+```apacheconf
php_value
+```
-# Por exemplo:
+**Exemplo:**
+
+```apacheconf
php_value upload_max_filesize 50M
php_value max_execution_time 240
```
-### Custom Error Pages
-``` apacheconf
-ErrorDocument 500 "Houston, você tem um problema."
+[Próximo código](#páginas-de-erro-personalizadas) • [Voltar ao índice](#índice)
+
+---
+
+### Páginas de erro personalizadas
+
+**Fonte:** Desconhecida
+
+```apacheconf
+ErrorDocument 500 "Houston, nós temos um problema."
ErrorDocument 401 http://error.example.com/mordor.html
ErrorDocument 404 /errors/halflife3.html
```
-### Force Downloading
-Às vezes você quer forçar o navegador para baixar algum conteúdo em vez de exibi-lo.
-``` apacheconf
+[Próximo código](#forçar-download-de-arquivos) • [Voltar ao índice](#índice)
+
+---
+
+### Forçar `download` de arquivos
+
+**Fonte:** Desconhecida
+
+Às vezes, você deseja forçar o navegador a baixar algum conteúdo em vez de exibi-lo.
+
+```apacheconf
ForceType application/octet-stream
Header set Content-Disposition attachment
```
-Agora a um yang a este yin:
+[Próximo código](#impedir-download-para-visualização-de-arquivos) • [Voltar ao índice](#índice)
-### Prevent Downloading
-Às vezes você quer forçar o navegador para exibir algum conteúdo em vez de baixá-lo.
-``` apacheconf
+---
+
+### Impedir `download` para visualização de arquivos
+
+**Fonte:** Desconhecida
+
+Às vezes, você deseja forçar o navegador a exibir algum conteúdo em vez de baixá-lo.
+
+```apacheconf
Header set Content-Type text/plain
```
-### Allow Cross-Domain Fonts
-CDN-served webfonts pode não funcionar no Firefox ou IE devido à [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing). Este trecho resolve o problema.
-``` apacheconf
+[Próximo código](#permitir-webfonts-de-todos-os-domínios) • [Voltar ao índice](#índice)
+
+---
+
+### Permitir `webfonts` de todos os domínios
+
+**Fonte:** [GitHub H5bp](https://bit.ly/3jkSKvA)
+
+`Webfonts` servidos por CDN podem não funcionar no `Firefox` ou `IE` devido ao [`CORS`](https://bit.ly/3llvvDv) . Este trecho resolve o problema.
+
+```apacheconf
Header set Access-Control-Allow-Origin "*"
```
-[Source](https://github.com/h5bp/server-configs-apache/issues/32)
-### Auto UTF-8 Encode
-Seu texto deve ser sempre codificação UTF-8, não?
-``` apacheconf
-# Use codificação UTF-8 para qualquer coisa como text/plain ou text/html
+[Próximo código](#definir-o-tipo-de-codificação-automaticamente-em-arquivos-específicos) • [Voltar ao índice](#índice)
+
+---
+
+### Definir o tipo de codificação automaticamente em arquivos específicos
+
+**Fonte:** [GitHub H5bp](https://bit.ly/34CLuqV)
+
+`Webfonts` servidos por CDN podem não funcionar no `Firefox` ou `IE` devido ao [`CORS`](https://bit.ly/3llvvDv) . Este trecho resolve o problema.
+
+```apacheconf
+Use a codificação UTF-8 para qualquer coisa veiculada em text/plain ou text/html
AddDefaultCharset utf-8
-# Força UTF-8 para um número de formatos de arquivo
+# Força UTF-8 para vários tipos de arquivos
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
```
-[Source](https://github.com/h5bp/server-configs-apache)
-### Switch to Another PHP Version
-Se você estiver em um servidor compartilhado, as chances são de que há mais de uma versão do PHP instalado, e às vezes você quer uma versão específica para o seu site. por exemplo, [Laravel](https://github.com/laravel/laravel) requer PHP >= 5.4. O seguinte trecho deve mudar a versão do PHP para você.
+[Próximo código](#mudar-a-versão-do-php-para-uma-aplicação-ou-tarefa-específica) • [Voltar ao índice](#índice)
+
+---
+
+### Mudar a versão do `PHP` para uma aplicação ou tarefa específica
+
+**Fonte:** Desconhecida
+
+Se você estiver em um host compartilhado, é provável que haja mais de uma versão do `PHP` instalada e, às vezes, você deseja uma versão específica para o seu site. O seguinte código deve mudar a versão do `PHP` para você.
+
+```apacheconf
+AddHandler application/x-httpd-php56 .php
+```
-``` apacheconf
-AddHandler application/x-httpd-php55 .php
+**Uma alternativa:**
-# Alternativamente, você pode usar AddType
-AddType application/x-httpd-php55 .php
+```apacheconf
+AddType application/x-httpd-php56 .php
```
-### Disable Internet Explorer Compatibility View
-Exibição de Compatibilidade no IE pode afetar a forma como alguns sites são exibidos. O seguinte trecho deve forçar o IE para usar o Edge Rendering Engine e desativar o Compatibility View.
+[Próximo código](#desativar-o-modo-de-exibição-de-compatibilidade-do-internet-explorer) • [Voltar ao índice](#índice)
+
+---
+
+### Desativar o modo de exibição de compatibilidade do Internet Explorer
+
+**Fonte:** Desconhecida
-``` apacheconf
+Exibição de compatibilidade no `IE` pode afetar a forma como alguns sites são exibidos. O código a seguir deve forçar o `IE` a usar o `Edge Rendering Engine` e desabilitar o modo de exibição de compatibilidade.
+
+```apacheconf
BrowserMatch MSIE is-msie
Header set X-UA-Compatible IE=edge env=is-msie
```
-### Serve WebP Images
-Se [WebP images](https://developers.google.com/speed/webp/?csw=1) são suportados em uma imagem com uma extensão .webp e ela encontra-se no mesmo lugar como o jpg/png imagem que vai ser servida, em seguida, a imagem WebP é servido em vez do jpg/png.
+[Próximo código](#permitir-a-exibiçãoveiculação-de-imagens-webp) • [Voltar ao índice](#índice)
+
+---
+
+### Permitir a exibição/veiculação de imagens `.webp`
-``` apacheconf
-RewriteEngine On
+**Fonte:** [GitHub Vincentor Back](https://bit.ly/3b0NlXL)
+
+Se imagens [`webp`](https://bit.ly/3lk4yAl) forem suportadas e uma imagem com extensão `.webp` e o mesmo nome for encontrada no mesmo local que a uma imagem `jpg/png` que será exibida, a imagem `webp` será exibida no lugar.
+
+```apacheconf
+# Ativa o motor de reescrita
+RewriteEngine on
+
+# Condições necessárias para reescrita
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
+
+# Regra para reescrita da url
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
```
-[Source](https://github.com/vincentorback/WebP-images-with-htaccess)
+
+[Voltar ao índice](#índice)