O que é .htaccess?
O que é .htaccess?
Arquivo .htaccess, saiba o que é e como funciona na prática!
O arquivo .htaccess (que significa “Hypertext Access”) é um arquivo de configuração utilizado em servidores web baseados no software Apache. Ele permite que os usuários configurem e personalizem diversas opções de funcionamento do servidor, como redirecionamentos de URL, proteção de diretórios com senha, definição de regras de acesso, dentre outras.
O uso correto do arquivo .htaccess pode melhorar significativamente o desempenho e a segurança do site, além de ajudar na implementação de técnicas de SEO (Search Engine Optimization) e de outros recursos importantes para a operação do site. No entanto, é importante lembrar que qualquer modificação no arquivo .htaccess pode afetar diretamente o funcionamento do site, portanto, é recomendável que se tenha conhecimento técnico adequado antes de fazer quaisquer alterações.
O arquivo .htaccess é geralmente utilizado para ajustar as configurações de um site sem precisar acessar diretamente as configurações do servidor. É um arquivo de texto simples, que pode ser criado ou editado utilizando um editor de texto, como o Bloco de Notas ou o Sublime Text.
Como criar um arquivo .htaccess?
Para criar um arquivo .htaccess, você pode seguir os seguintes passos:
Abra um editor de texto, como o Bloco de Notas no Windows ou o TextEdit no macOS.
Digite o código .htaccess que deseja adicionar ao arquivo.
Salve o arquivo com o nome “.htaccess” (sem as aspas) e selecione “Todos os arquivos” como tipo de arquivo.
Escolha o diretório no qual deseja salvar o arquivo. Geralmente, o arquivo .htaccess deve ser salvo no diretório raiz do seu site, que é o diretório onde está localizado o arquivo “index.html” ou “index.php” do seu site.
Faça upload do arquivo .htaccess para o diretório raiz do seu site usando um cliente FTP ou um gerenciador de arquivos do painel de controle do seu provedor de hospedagem.
Segue abaixo um código simples para o arquivo que pode ser utilizado em diversos sites:
# Habilitar o mod_rewrite RewriteEngine On # Redirecionar URLs para HTTPS RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remover www do domínio RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [L,R=301] # Redirecionar URLs amigáveis RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
Este código faz o seguinte:
Ativa o mod_rewrite, que permite a reescrita de URLs no servidor.
Redireciona todas as solicitações HTTP para HTTPS.
Remove o prefixo “www” do nome de domínio.
Redireciona URLs amigáveis para a página index.php.
A seguir, listamos alguns tópicos com as vantagens de usar o arquivo .htaccess:
Redirecionamento de URLs: O uso de redirecionamentos de URLs com o arquivo .htaccess é uma técnica muito útil para corrigir links quebrados e melhorar a experiência do usuário. Além disso, também pode ser utilizada para redirecionar URLs antigas para URLs novas e mais amigáveis para o SEO.
Proteção de diretórios com senha: O arquivo .htaccess permite proteger um diretório do site com uma senha, exigindo que o usuário insira um nome de usuário e uma senha antes de acessar o conteúdo. Isso pode ser muito útil para proteger informações sensíveis ou conteúdo exclusivo para membros.
Definição de regras de acesso: O uso de regras de acesso no arquivo .htaccess permite definir quem pode acessar o conteúdo do site. Isso pode ser útil para bloquear o acesso a determinados IPs ou países, por exemplo.
Configuração de cache: O arquivo .htaccess pode ser utilizado para configurar o cache do site, o que pode melhorar significativamente o desempenho e a velocidade de carregamento das páginas.
Configuração de MIME types: O uso de MIME types no arquivo .htaccess permite que o servidor web reconheça o tipo de arquivo sendo servido, o que pode ser útil para corrigir problemas de exibição de conteúdo no navegador.
Implementação de SSL: O arquivo .htaccess também pode ser utilizado para implementar a segurança SSL no site, o que garante a criptografia dos dados transmitidos entre o servidor e o navegador do usuário.
Personalização de erros: O arquivo .htaccess permite personalizar as páginas de erro que são exibidas quando ocorre algum problema no site, como um erro 404. Isso pode melhorar a experiência do usuário e a aparência do site.
Em resumo, o arquivo .htaccess é uma ferramenta poderosa que pode ser utilizada para personalizar e configurar diversos aspectos do servidor web Apache, melhorando a experiência do usuário, a segurança e o desempenho do site.
18 códigos para .htaccess:
1 – Redirecionamento de URL:
Redirect 301 /pagina-antiga.html http://www.seusite.com/nova-pagina.html
2 – Redirecionamento de domínio:
RewriteEngine On RewriteCond %{HTTP_HOST} ^seusite.com [NC] RewriteRule ^(.*)$ http://www.seusite.com/$1 [L,R=301]
3 – Bloqueio de acesso a um arquivo:
<Files arquivo-secreto.html> Order allow,deny Deny from all </Files>
4 – Proteção de diretório com senha:
AuthType Basic AuthName "Área Restrita" AuthUserFile /caminho/para/.htpasswd Require valid-user
5 – Alteração do limite de tamanho de upload:
php_value upload_max_filesize 20M php_value post_max_size 20M
6 – Impedir o hotlinking:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?seusite.com/ [NC] RewriteRule \.(gif|jpg|png)$ - [F]
7 – Proteção contra XSS:
Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options "nosniff"
8 – Proteção contra ataques de injeção SQL:
RewriteEngine On RewriteCond %{QUERY_STRING} (|<|>|%0A|%0D|%27|%3C|%3E|%00) RewriteRule ^(.*)$ - [F]
9 – Definição do tipo de compressão:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript </IfModule>
10 – Bloqueio de acesso a diretórios:
Options -Indexes
11 – Personalização de página de erro 404:
ErrorDocument 404 /404.html
12 – Remoção da extensão do arquivo na URL:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php
13 – Forçar HTTPS:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
14 – Redirecionamento para www:
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
15 – Definição do fuso horário:
SetEnv TZ America/New_York
16 – Bloqueio de diretórios de leitura:
<IfModule mod_autoindex.c> Options -Indexes </IfModule>
17 – Definição do charset:
AddDefaultCharset utf-8
18 – Configuração do cache:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month"