htaccess: o que é e como usá-lo para otimizar seu site

Avatar

Redação

0 avaliações

24 de maio de 2019 às 12:47

Saber o que é .htaccess é essencial para quem usa uma hospedagem compartilhada ou não tem acesso às configurações do servidor web.

Para esses usuários, o arquivo .htaccess pode ser a única forma de realizar configurações e definir regras para o servidor web. Muitas hospedagens incluem o .htaccess por padrão, mas como é um arquivo oculto, nem sempre sua configuração está facilmente acessível.

Htaccess

Embora seja possível configurar o .htaccess em qualquer site, o arquivo é conhecido por possuir configurações essenciais em sistemas populares, como o WordPress e Joomla. Essas plataformas usam arquivos .htaccess pré configurados para disponibilizar mais recursos em seus sistemas.

Neste artigo, você vai aprender mais sobre o que arquivo .htaccess, entender como ele funciona e descobrir como ele pode ajudar nas configurações do seu site. Confira!

O que é htaccess?

O arquivo .htaccess é um arquivo de configuração distribuída que permite aplicar regras no servidor web Apache por diretório. Basicamente, um arquivo que contém regras ou diretrizes de configurações do servidor web é colocado em um diretório específico, e as regras e diretrizes são aplicadas naquele diretório e seus subdiretórios.

Os arquivos .htaccess utilizam a mesma sintaxe do arquivo de configuração principal do Apache. No entanto, as regras e diretrizes que serão aceitas no arquivo .htaccess são determinadas pela diretriz AllowOverride.

Dica: você pode verificar se uma diretriz é suportada pelo .htaccess consultando a linha "Contexto" na documentação do Apache.

Normalmente, não é recomendado utilizar o .htaccess quando se tem acesso às configurações principais do servidor. Porém, nos serviços de hospedagem, em especial nos planos de hospedagem compartilhada, o .htaccess geralmente é a única forma disponibilizada para realizar configurações no servidor.

Então, se você utiliza uma hospedagem compartilhada, saber o que é .htaccess e como usá-lo é muito importante.

Exemplo do .htaccess WordPress

Algumas plataformas e aplicações web já vêm com um .htaccess pré configurado na instalação. Por exemplo, no WordPress, quando você instala o sistema de gerenciamento de conteúdo pela primeira vez, o arquivo .htaccess vem com o seguinte conteúdo:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Basicamente, o WordPress utiliza o arquivo .htaccess para manipular a forma com o servidor web disponibiliza arquivos no diretório raiz e subdiretórios. São essas modificações que permitem que o WordPress seja capaz de trabalhar com links permanentes, por exemplo.

É importante lembrar que alguns provedores de hospedagem alteram a instalação padrão do WordPress. Portanto, se o seu arquivo .htaccess for diferente quando você instalar o WordPress a partir do instalador automático de hospedagem, provavelmente é por conta de modificações intencionais do seu provedor.

Como habilitar o .htaccess no Apache?

Quando se trata de hospedagem compartilhada ou gerenciada por um provedor de hospedagem, é praticamente garantido o servidor web estará configurado para usar arquivos .htaccess. No entanto, se você está usando um VPS ou configurado seu servidor do zero, é necessário habilitar o arquivo .htaccess nas configurações do Apache.

Localizando as configurações do Apache

Para fazer isso, você deve editar o arquivo de configuração do Apache, geralmente chamado de httpd.conf. A localização desse arquivo de configuração pode variar a depender da versão do Apache e do sistema operacional.

Nas versões mais recentes do Apache no Linux e macOS, o arquivo de configuração fica no seguinte diretório:

/etc/httpd/conf/httpd.conf

Em versões antigas, você pode encontrar o arquivo de configuração nos diretórios:

/etc/apache2/httpd.con

Ou:

/etc/apache2/apache2.conf

No Windows, o arquivo de configuração do Apache é definido de acordo com a pasta em que o servidor foi instalado. Por padrão, o diretório é "C:\Program Files\Apache Software Foundation\Apache2.X\".

Habilitando o .htaccess

Depois de encontrar o arquivo de configuração do Apache, o próximo passo é procurar a diretriz referente ao .htaccess. A diretriz que procuramos aqui é a AllowOverride, que vai permitir que o arquivo .htaccess sobrescreva as configurações do servidor web no diretório em que for criado.

Assim, o que você deve fazer é modificar para habilitar o .htaccess no servidor é a linha:

AllowOverride None

Para:

AllowOverride All

Note que essa configuração é definida para todo o servidor web. Ou seja, todos os sites que estiverem sendo servidos pelo servidor terão o .htaccess habilitado. Se você quer habilitar o .htaccess por site, você deve fazer isso na configuração por site, no diretório sites-available.

Depois de modificar o arquivo de configuração, basta reiniciar o servidor Apache.

Como criar e editar o arquivo .htaccess?

Embora seja utilizado como um arquivo de configuração do Apache, o .htaccess é um arquivo em texto comum. Então, não há diferença na hora de criar e editar um arquivo .htaccess. Para criar, basta criar um arquivo com o nome ".htaccess" dentro do diretório raiz da hospedagem, o public_html.

Nota: o "." no nome do arquivo indica um arquivo oculto. Por isso, antes de criar o arquivo .htaccess, certifique-se de configurar o gerenciador de arquivos para exibir arquivos ocultos.

htaccess - Mostrar arquivos ocultos

Como é um arquivo de texto comum, você pode usar qualquer editor de texto para editar o .htaccess. No entanto, alguns editores de texto podem tornar o trabalho, por isso confira a lista com os melhores editores de texto.

Editar o .htaccess é ainda mais fácil nas hospedagens que oferecem um bom gerenciador de arquivos. Basta acessar o gerenciador de arquivos, clicar com botão direito e escolher a opção de editar o arquivo:

htaccess - Editar no gerenciador de arquivos

Dessa forma, não há necessidade de baixar o arquivo .htaccess e enviar novamente para o servidor de hospedagem.

O que você pode fazer com o .htaccess

Agora, que você já sabe o que é .htaccess, como criar e editar esse arquivo, vamos ver o que pode ser feito configurando esse arquivo.

1. Redirecionamentos: .htaccess redirect

Uma das principais utilizações do .htaccess é para redirecionamentos. Você provavelmente já encontrou o termo "htaccess redirect" ou "redirect htaccess" em algum tutorial na Internet. Isso acontece porque o .htaccess oferece uma forma fácil e prática de criar redirecionamentos.

Abaixo, confira alguns dos redirecionamentos que você pode fazer:

301 redirect htaccess: redirecionar uma única página

O redirecionamento 301 ou 301 redirect, indica que um conteúdo foi movido de forma permanente. Criar um redirecionamento desse tipo é útil quando você modifica a URL de uma página, por exemplo. Esse tipo de redirecionamento é padrão para a otimização SEO do site.

Por exemplo, para redirecionar uma URL antiga para uma nova, basta adicionar a seguinte linha no .htaccess:

Redirect 301 /pagina-antiga.html http://www.seusite.com/nova-pagina.html

Também é possível fazer o 301 redirect htaccess para um diretório:

Redirect 301 /pagina-antiga.html http://www.seusite.com/diretorio/

Se você usa WordPress, existem vários plugins que ajudam na criação e gerenciamento de redirecionamentos, como o Yoast SEO.

301 redirect htaccess: redirecionar um site inteiro

O 301 redirect htaccess também é essencial para quem está mudando o endereço do site. Como a mudança de endereço é uma mudança permanente, a criação de um redirecionamento 301. Você pode fazer esse redirecionamento adiciona seguinte linha no .htaccess do site antigo:

Redirect 301 / http://novo-site.com/

Com essa regra, todo visitante que acessar o site antigo, será redirecionado para o novo site.

2. Definindo a página inicial com o .htaccess

Por padrão, o servidor web é configurado para utilizar o arquivo "index.php", "index.htm" ou "index.html" com a página inicial do site. No entanto, essa configuração pode ser modificada facilmente com o arquivo .htaccess.

Para fazer isso, basta adicionar a seguinte linha:

DirectoryIndex outra-pagina.html

Com essa regra, o índice do diretório pode ser definido com o arquivo que você desejar. Você também pode especificar vários arquivos para índice, no caso de um dos arquivos não ser encontrado, o servidor tentará carregar o próximo:

DirectoryIndex outra-pagina.html pagina-alternativa.html ultimo-caso.html

3. URL amigável com .htaccess

Outra configuração comum no .htaccess é para as URLs amigáveis. Além de facilitar a compreensão do endereço para o usuário, utilizar a URL amigável é uma boa prática para otimização nos mecanismos de busca.

A configuração de URLs amigáveis no .htaccess vai depender da estrutura do site ou aplicação web. Para que funcione de forma ideal, é necessário ter o módulo de reescrita de URLs habilitado e saber como usar as expressões regulares.

Por exemplo, a regra a seguir substituiria um endereço com um número identificador do produto por um nome:

RewriteRule cadeira/ produto.php?id=1234

Para quem usa o WordPress, é possível configurar as URLs amigáveis a partir do próprio painel de controle, nas opções de Links permanentes.

htaccess - URLs amigáveis e links permanentes

Essa opção já traz algumas variações de escritas de URLs amigáveis para escolher sem ter que escrever uma regra no .htaccess.

4. Otimização SEO para arquivos com URLS canônicas

URLs canônicas simplesmente dizem aos mecanismos de busca que duas ou mais URLs representam o mesmo conteúdo. Por exemplo, há casos em que mais de uma URL aponta para o mesmo conteúdo, como no caso de uma imagem ou arquivo PDF para download.

Configurando URLs canônicas para conteúdos iguais, você evita a confundir o mecanismo de busca e, consequentemente, evita que o site seja prejudicado nos rankings de pesquisa.

Naturalmente, você pode definir uma URL como canônica no cabeçalho do HTML. Porém, quando é necessário definir uma URL canônica para vários arquivos e imagens, há uma forma mais fácil: usar um cabeçalho no servidor web.

É nesta parte que podemos usar o .htaccess para configurar URLs canônicas de acordo com nome e tipo de arquivo. Veja o seguinte exemplo para um arquivo PDF:

<Files ebook.pdf>

	Header add Link '<http://www.seudominio.com/ebooks/download-ebook.html>; rel="canonical"'

</Files>

Lidando com vários arquivos, uma forma ainda mais fácil de fazer isso seria aplicando variáveis no .htaccess. Por exemplo, você pode definir URLs canônicas para todos os arquivos PDF em um diretório:

RewriteRule ([^/]+)\.pdf$ - [E=FILENAME:$1]

<FilesMatch "\.pdf$">

	Header add Link '<http://www.seudominio.com/ebooks/%{FILENAME}e.html>; rel="canonical"'

</FilesMatch>

Assim, você poupa tempo na definição de URLs canônicas no seu site.

5. Diretivas do arquivo robots.txt

O robots.txt é o arquivo que possui instruções para os robôs dos mecanismos de busca. Por exemplo, é nesse arquivo que você informa ao Google sobre alguma página que não deve ser indexada. No entanto, os mecanismos de busca ainda podem acabar indexando uma página se vários links apontarem para ela.

Para evitar que isso ocorra, você deve colocar a Meta Robots tag "noindex" em cada uma das páginas nessa situação. Porém, se as páginas estiverem no mesmo diretório, o .htaccess oferece uma forma mais fácil de fazer isso – criar um arquivo .htaccess no diretório e adicionar a seguinte regra:

Header set X-Robots-Tag "noindex, noarchive, nosnippet"

Você pode conferir as especificações do Google sobre o cabeçalho HTTP X-Robots-Tag aqui.

6. Página de erro personalizada

Por padrão, as páginas de erro são técnicas e não exibem um conteúdo amigável para o visitante. Você provavelmente já deve ter encontrado o erro 404 ao acessar alguma página em um site. Geralmente, essas páginas são personalizadas para oferece uma experiência para o usuário.

A prática recomendada é personalizar as páginas de erro de forma que o visitante entenda o que aconteceu e saiba para onde ir. Em outras palavras, tenha links para outras páginas para que ele possa continuar navegando pelo site, sem comprometer a experiência de uso.

htaccess - Página de erro personalizada

Em nossa página de erro 404, por exemplo, o usuário recebe uma informação clara sobre o que se trata, além de links para continuar navegando e entrar em contato.

Você pode fazer o mesmo com uma simples regra no .htaccess:

ErrorDocument 404 /erro-404-personalizado.html

Dessa forma, você poderá exibir o conteúdo de uma página personalizada quando o erro 404 acontecer. O mesmo pode ser configurado para outros erros, simplesmente substituindo o número do erro.

7. Rastreamento de dispositivo móvel com cabeçalho HTTP Vary

Para quem disponibiliza um site mobile no mesmo endereço do site principal, é importante conhecer o cabeçalho Vary. Esse cabeçalho serve para informar aos mecanismos de busca sobre a mudança do conteúdo para os usuários nos dispositivos móveis.

Você pode aplicar esse cabeçalho facilmente com o .htaccess, adicionando a seguinte regra:

Header append Vary User-Agent

Note que o essa regra só é recomendada quando você serve conteúdos HTML diferentes no mesmo endereço. Se você já tem um site responsivo que se adapta de acordo com o dispositivo do visitante, não há necessidade de incluir essa regra.

Você pode conhecer mais sobre o cabeçalho HTTP Vary no guia de exibição dinâmica do Google.

8. Otimização no carregamento com caching

Quando se trata de melhorar o desempenho de um site, caching é sempre algo a ser considerado. Em ferramentas para testar velocidade do site, caching é quase sempre uma das principais sugestões para melhoria no desempenho.

Importante: antes de aplicar a regra a seguir, verifique se já não existem sistemas de caching já configurados no servidor de hospedagem.

Com o .htaccess, você pode configurar os tipos de arquivos e por quanto tempo eles devem ser mantidos em cache:

<FilesMatch ".(gif|jpg|jpeg|png|js|css)$">

	Header set Cache-Control "max-age=28800"

</FilesMatch>

No exemplo acima, arquivos de imagem e arquivos estáticos como scripts em JavaScript e CSS seriam mantidos em cache por 8 horas.

9. Página de manutenção

Você já deve ter entrado em um site e encontrado uma página completamente diferente, indicando que a página estará disponível em breve ou está em manutenção. Você poderia fazer um simples redirecionamento, entretanto, é necessário que a página esteja disponível para que você possa fazer as modificações.

É possível fazer isso facilmente com o .htaccess, adicionando as seguintes linhas:

RewriteEngine On

RewriteBase /

RewriteCond %{REMOTE_ADDR} !seu.endereco.ip.aqui

RewriteCond %{REMOTE_ADDR} !127.0.0.1

RewriteRule ^(.*)$ http://www.seudominio.com/manutencao.html [L,R=307]

Dica: use a nossa ferramenta para saber qual o seu endereço IP.

Basicamente, essas regras determinam que, a menos que o site seja acessado pelo seu IP ou pelo IP local do servidor, o site deverá exibir a página de manutenção.

10. Proteger diretórios com senha com o .htpasswd

Outra utilização do .htaccess é para a proteção de diretórios ou páginas em um servidor de hospedagem. Para isso, você vai precisar de outro de arquivo além do .htaccess, o .htpasswd. Em conjunto, esses arquivos permitem que você proteja uma página com uma senha.

  1. Primeiro, você precisa criar um arquivo .htaccess definindo a pasta em que o arquivo com as credenciais de acesso está localizado;
  2. Segundo, criar um arquivo com as credenciais de acesso: os logins e senhas.

No .htaccess, você pode incluir o seguinte código:

AuthType Basic
AuthName "Página protegida"
AuthUserFile /diretório/do/.htpasswd # pasta em que está o arquivo 
Require valid-user

Basta modificar a terceira linha, colocando caminho referente ao arquivo .htpasswd. É recomendado colocar esse arquivo fora do diretório raiz do servidor web, ou seja, fora do public_html.

Depois, você deve criar o arquivo .htpasswd de acordo com o caminho que definiu no .htaccess. No arquivo .htpasswd, é necessário incluir um usuário e senha por linha. Por exemplo:

usuario:senha

É recomendado que você gere uma senha criptografada com um algoritmo do próprio servidor web. Você pode usar esse gerador de .htpasswd para fazer isso. No fim, o arquivo .htpasswd deverá ficar assim:

usuario:$apr1$PN7UCu.k$yjoFDPa3.qPHRQdolv0pt1
outro-usuario:$apr1$3JbGFw5i$VmLxfiWv237w/6TDyDir70

Para acessar a página ou diretório, seria necessário ter as credenciais de acesso de um desses usuários.

Bônus: outras dicas de redirecionamento com .htaccess

Quer mais dicas com .htaccess? Não se preocupe, abaixo, separamos mais alguns trechos para configurações úteis que você pode fazer no seu site com o .htaccess:

Incluir www em todas as URLs

RewriteEngine On 
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Forçar HTTPS no site

RewriteEngine On 
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Garantir que todas as URLs tenha uma barra no final

RewriteEngine On 
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.example.com/$1/ [L,R=301]

Conclusão

Neste tutorial você aprendeu o que é .htaccess, como criar e editar esse arquivo, assim como realizar configurações úteis no seu site e servidor de hospedagem. Como a maioria dos servidores de hospedagem é compatível com o .htaccess, saber como usá-lo é essencial para quem possui um site.

Apesar da sua utilidade, criar regras de configurações no servidor web, lidar com expressões regulares e administrar o servidor de hospedagem pode ser um desafio para muitos. Como alternativa, existem sistemas de gerenciamento de conteúdo que facilitam várias dessas configurações com uma interface intuitiva.

O WordPress é um exemplo desse tipo de sistema, e você pode ver como isso é fácil em nosso tutorial completo de como criar um site WordPress.

Ficou alguma dúvida? Tem alguma sugestão para trecho ou dica do .htaccess? Compartilhe com a gente nos comentários abaixo!


Avatar
Redação

Melhor Hospedagem de Sites é um projeto com o objetivo de ajudar as pessoas na busca pelo lugar ideal para hospedar seus sites, trazendo informação e conhecimento sobre o universo de hospedagem de sites.


TOP 3 Provedores de Hospedagem
Hostinger logo
9.9 /10
GoDaddy logo
9.1 /10
Deixe um comentário