htaccess
O que é htaccess?
htaccess
.htaccess é um arquivo de configuração usado em servidores web Apache para controlar o comportamento do servidor em um diretório específico e seus subdiretórios. Ele permite que os administradores de sites modifiquem as configurações do servidor sem alterar o arquivo de configuração principal do Apache.
Como Funciona o .htaccess:
O arquivo .htaccess é processado pelo servidor Apache quando uma solicitação é feita para um arquivo ou diretório dentro do diretório em que o arquivo .htaccess está localizado. As diretivas no arquivo .htaccess substituem as configurações padrão do servidor Apache para aquele diretório específico.
Recursos do .htaccess:
O arquivo .htaccess oferece vários recursos, incluindo:
- Controle de Acesso: Permite que os administradores de sites restrinjam o acesso a diretórios e arquivos específicos usando senhas ou outras formas de autenticação.
- Redirecionamento: Permite que os administradores de sites redirecionem os usuários de uma URL para outra, o que é útil para corrigir links quebrados ou implementar redirecionamentos 301.
- Reescrita de URL: Permite que os administradores de sites modifiquem e reescrevam URLs de entrada para melhorar a estrutura do site, otimizar o SEO ou criar URLs amigáveis.
- Manipulação de Cabeçalhos: Permite que os administradores de sites modifiquem os cabeçalhos HTTP das solicitações e respostas, o que é útil para adicionar ou remover cookies, alterar o tipo de conteúdo ou definir cabeçalhos de cache.
- Otimização de Desempenho: Permite que os administradores de sites implementem técnicas de otimização de desempenho, como compactação GZIP e cache de navegador.
Benefícios do .htaccess:
O uso do .htaccess oferece vários benefícios, incluindo:
- Configuração Específica do Diretório: Permite que os administradores de sites configurem diferentes diretórios em um site com diferentes configurações, o que é útil para sites com seções ou funcionalidades distintas.
- Flexibilidade: Fornece aos administradores de sites controle granular sobre o comportamento do servidor em um nível de diretório, permitindo que personalizem o servidor de acordo com suas necessidades específicas.
- Fácil Manutenção: Permite que os administradores de sites façam alterações na configuração do servidor sem precisar modificar o arquivo de configuração principal do Apache, o que pode ser complexo e demorado.
- Segurança Aprimorada: Permite que os administradores de sites implementem medidas de segurança adicionais, como proteção contra ataques de força bruta e acesso restrito a diretórios confidenciais.
Exemplos de .htaccess:
1. Proteção por Senha:
AuthType Basic
AuthName "Área Restrita"
AuthUserFile /caminho/para/arquivo/.htpasswd
Require valid-user
2. Redirecionamento 301:
Redirect 301 /pagina-antiga.html /pagina-nova.html
3. Reescrita de URL:
RewriteEngine On
RewriteRule ^
.htaccess para redirecionamento de domínios sem www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominio.com$ [NC]
RewriteRule ^(.*)$ https://www.dominio.com/$1 [R=301,L]
Este código redirecionará todas as solicitações para dominio.com
para www.dominio.com
usando um redirecionamento 301 permanente.
Como funciona:
- RewriteEngine On: Habilita o módulo de reescrita de URL do Apache.
- RewriteCond %{HTTP_HOST} ^dominio.com$ [NC]: Verifica se o cabeçalho
Host
da solicitação corresponde adominio.com
(sem www), ignorando maiúsculas e minúsculas ([NC]
). - RewriteRule ^(.*)$ https://www.dominio.com/$1 [R=301,L]: Se a condição for atendida, reescreve a URL para
https://www.dominio.com/
seguido pelo caminho original ($1
). O sinalizadorR=301
especifica um redirecionamento 301 permanente, eL
interrompe o processamento de regras adicionais.
.htaccess para redirecionamento de domínios com www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.dominio.com$ [NC]
RewriteRule ^(.*)$ https://dominio.com/$1 [R=301,L]
Este código redirecionará todas as solicitações para www.dominio.com
para dominio.com
usando um redirecionamento 301 permanente.
Como funciona:
- RewriteEngine On: Habilita o módulo de reescrita de URL do Apache.
- RewriteCond %{HTTP_HOST} ^www.dominio.com$ [NC]: Verifica se o cabeçalho
Host
da solicitação corresponde awww.dominio.com
, ignorando maiúsculas e minúsculas ([NC]
). - RewriteRule ^(.*)$ https://dominio.com/$1 [R=301,L]: Se a condição for atendida, reescreve a URL para
https://dominio.com/
seguido pelo caminho original ($1
). O sinalizadorR=301
especifica um redirecionamento 301 permanente, eL
interrompe o processamento de regras adicionais.
Na Agência Metamídia eu ajudo empresas a ter mais visibilidade para seu negócio, entender melhor seus clientes e trazer mais resultados. Formado em Comunicação Social – Publicidade e Propaganda, Web Design programação e pós-graduação em Marketing.