Suporte

author
6 minutes, 19 seconds Read
Atualizado em 4 de outubro de 2018
>

O que é .htaccess?

O arquivo .htaccess (também conhecido como arquivo Hypertext Access) é usado para definir configurações específicas para servidores web rodando no Apache. Este arquivo de configuração afeta o diretório em que ele está armazenado, bem como todas as subdiretórios dentro desse diretório. Por exemplo, se o arquivo .htaccess estiver localizado dentro de seu diretório raiz, ele afetará o site inteiro. Por outro lado, se o arquivo estiver localizado em um diretório específico, ele só afetará esse diretório e quaisquer subdiretórios dentro dele.

algumas plataformas CMS como WordPress e Drupal também vêm com arquivos .htaccess para permitir que você especifique certas configurações que são aplicáveis apenas a esse site. O arquivo .htaccess pode ser usado para alcançar uma variedade de coisas, incluindo:

  • Redirecionamentos de desempenho
  • Páginas de erro personalizadas
  • Restrição de usuários baseada em IP
  • Adicionar tipos MIME
  • Configurar cabeçalhos HTTP
  • Senha protegendo certas pastas

O arquivo .htaccess pode ser usado para conseguir muito mais, no entanto a lista acima está entre os usos mais populares de .htaccess. A seção abaixo irá delinear vários exemplos de .htaccess e como eles podem ser usados dentro do seu próprio site.

exemplos de .htaccess

Exemplos de configuração que podem ser alcançados dentro do arquivo .htaccess. A lista abaixo é alguns dos exemplos mais utilizados.

Redirecionar usuários para uma página de erro específica

Baseado no código de status que um determinado arquivo ou página retorna, você pode redirecionar o usuário para uma página de erro personalizada. O exemplo abaixo mostra algumas variações que você pode usar. Cada uma delas depende do código de status que é retornado.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Adicionando um cabeçalho personalizado e valor

Cabeçalhos HTTP personalizados também podem ser adicionados através do arquivo .htaccess. Existem algumas opções de sintaxe, tais como set que irá substituir qualquer cabeçalho anterior que tenha o mesmo nome, add que irá adicionar o cabeçalho mesmo que exista outro com o mesmo nome. Visite o guia de cabeçalho da página do Apache para saber mais.

Header set X-Custom "Custom Value"

No exemplo acima, o texto X-Custom corresponde ao cabeçalho HTTP que será retornado na resposta HTTP enquanto o texto Custom Value corresponde ao valor para este cabeçalho em particular.

Bloquear usuários baseado em IP

Para fins de segurança, você pode bloquear usuários baseado em seu IP dentro do arquivo .htaccess. No exemplo abaixo, há dois IPs que são bloqueados. Podemos também decidir não incluir o último dígito do endereço IP que resultará no bloqueio de todos os IPs que contenham os três primeiros dígitos.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Blocking referrers (hotlink protection)

Blocking referrers, também conhecido como hotlink protection, é um método usado para bloquear certos referrers de referenciar os ativos do seu website e assim roubar a sua largura de banda. Use o snippet abaixo para definir quais domínios não são permitidos a referenciar o seu conteúdo e assim eles receberão um erro 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

Funcionalidade semelhante também pode ser obtida através do painel de controle KeyCDN. Para saber como implementar a protecção hotlink na sua Zona KeyCDN, visite o nosso guia de Indicadores de Zona.

Adicionando tipos MIME

TiposMIME definem a que se refere uma extensão de ficheiro em particular. Portanto, às vezes é necessário definir isso em seu arquivo .htaccess para informar ao servidor web a que tipo de arquivo você está se referindo. Para ver uma lista completa de tipos MIME visite a lista de tipos MIME.

AddType image/gif .gif .GIF

Alavancando o cache do navegador

O arquivo .htaccess também pode ser usado para ajudar a melhorar o desempenho do site, alavancando o cache do navegador. Cada tipo de arquivo pode ser definido com um determinado valor de expiração. Você pode definir uma lista personalizada de tipos de arquivo e alterar cada um de seus valores de expiração, entretanto o seguinte trecho é um bom ponto de partida.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Ativar Gzip

Ativar Gzip em seu servidor de origem ajuda a melhorar a performance de seus ativos à medida que eles são comprimidos e, portanto, podem ser entregues mais rapidamente. Você pode definir uma lista personalizada de tipos MIME a serem compactados, porém o exemplo abaixo é um bom ponto de partida. Para saber mais sobre os benefícios do Gzip e como ele funciona, leia nosso artigo Enable Gzip Compression.

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Denying HTTP request methods

Existem vários métodos de requisição HTTP que são usados para alcançar vários resultados. Se existem certos métodos HTTP que você não quer que um usuário utilize em seu site, você pode negar com .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Executar 301 redirecionamentos

Se você precisar executar um redirecionamento 301 para uma página que foi movida, isto pode ser facilmente alcançado com .htaccess. Basta usar o snippet abaixo que pega a primeira URL (link antigo) e a redireciona para a segunda URL (link novo).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Ativar CORS

Ativar CORS é crucial para a entrega de ativos estáticos em várias origens. O seguinte trecho pode ser adicionado ao seu arquivo .htaccess a fim de permitir que todas as origens compartilhem recursos. Caso contrário, se isso não estiver ativado e sua origem estiver solicitando recursos de outra origem, você receberá um erro CORS. Leia mais sobre CORS em nosso artigo Como Usar CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Os exemplos acima .htaccess são um ótimo ponto de partida para aqueles que ainda não estão familiarizados com o uso de .htaccess, mas ainda querem realizar certas configurações de servidor web. O ficheiro .htaccess tem a capacidade de executar uma série de tarefas e é bastante flexível para se adaptar às necessidades do seu website. Embora estes .htaccess exemplos sejam um ótimo ponto de partida, você pode estar procurando executar algumas configurações mais avançadas .htaccess. Para mais informações sobre este tópico considere verificar o AskApache’s .htaccess file guide article.

Similar Posts

Deixe uma resposta

O seu endereço de email não será publicado.