Ir para o conteúdo
Ajuda

Como editar o arquivo .htaccess no cPanel

No Gerenciador de arquivos do cPanel, ligue Mostrar arquivos ocultos, abra a pasta public_html, selecione o .htaccess e clique em Editar. Se o arquivo não existir, crie com + Arquivo e o nome .htaccess. O artigo traz códigos prontos para WordPress, HTTPS, www, Laravel, sites de página única, redirecionamentos, segurança e cache.

6 min de leitura

Para editar o .htaccess, abra o Gerenciador de arquivos no cPanel, ligue Mostrar arquivos ocultos (dotfiles), entre em public_html, selecione o .htaccess e clique em Editar. Se ele ainda não existir, crie com + Arquivo e o nome .htaccess. No fim do artigo há códigos prontos para os usos mais comuns.

Atenção: este tutorial mexe na segurança do seu site. As mudanças descritas aqui são feitas por sua conta e risco. Confira cada passo antes de aplicar.

O suporte da StayCloud cuida da infraestrutura da hospedagem e da configuração dela, não das regras e do código do seu site. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz".

Antes de começar

  • Abra o cPanel pelo painel: Hospedagem › Meus sites › Gerenciar › Atalhos com 1 clique › cPanel. O passo a passo está em "Como abrir o cPanel da sua hospedagem pelo painel".
  • Copie o conteúdo atual do .htaccess para um arquivo no seu computador antes de mudar. Um erro no arquivo derruba o site na hora.
  • A hospedagem tem backup a cada 12 horas; se algo der errado, veja "Como restaurar um backup da hospedagem pelo painel".
  • Para entender o arquivo, veja "O que é o arquivo .htaccess no cPanel".

Abrir o Gerenciador de arquivos

  1. Na tela inicial do cPanel, no bloco Arquivos, clique em Gerenciador de arquivos.Resultado: o Gerenciador de arquivos abre.

Bloco Arquivos da tela inicial do cPanel com o ícone Gerenciador de arquivos destacado

Mostrar os arquivos ocultos

  1. No canto superior direito, clique em Configurações.Resultado: abre a janela Preferências.
  2. Marque Mostrar arquivos ocultos (dotfiles) e clique em Salvar.Resultado: a lista passa a mostrar arquivos que começam com ponto, como o .htaccess.

Janela Preferências com a opção Mostrar arquivos ocultos (dotfiles) marcada e destacada e os botões Salvar e Cancelar

Editar o arquivo

  1. Na árvore à esquerda, clique em public_html (ou na pasta do site que você quer ajustar).Resultado: a lista mostra os arquivos da pasta.
  2. Clique uma vez no .htaccess para selecionar.Resultado: a linha fica destacada.
  3. Na barra do topo, clique em Editar e confirme a janela de codificação, se aparecer.Resultado: o arquivo abre no editor de texto do cPanel.

Gerenciador de arquivos com a pasta public_html aberta e os botões + Arquivo e Editar destacados na barra do topo

  1. Faça a mudança e clique em Salvar alterações, no canto superior direito do editor.Resultado: o arquivo é gravado e a regra passa a valer na hora.

Se o .htaccess não existir

  1. Com a pasta public_html aberta, clique em + Arquivo, na barra do topo.Resultado: abre a janela Novo arquivo.
  2. Em Novo nome do arquivo, digite .htaccess e clique em Create New File.Resultado: o arquivo vazio aparece na lista. Depois, edite como no passo anterior.

Janela Novo arquivo com o campo Novo nome do arquivo, o local onde o arquivo será criado e os botões Create New File e Cancelar

Códigos prontos de .htaccess

O servidor web da StayCloud é o LiteSpeed Web Server, que lê as regras de .htaccess no padrão do Apache. Os blocos abaixo usam esse padrão. Antes de usar:

  • Faça uma cópia do .htaccess atual no seu computador.
  • Cole um bloco por vez, salve e teste o site antes de colar o próximo.
  • Um erro de sintaxe derruba o site com 500 Internal Server Error. Nesse caso, volte a cópia.
  • Troque seudominio.com.br pelo seu domínio.
  • Se o site for WordPress, coloque as suas regras acima da linha # BEGIN WordPress. O WordPress reescreve o que fica entre # BEGIN WordPress e # END WordPress.

WordPress (bloco padrão)

Faz os links permanentes do WordPress funcionarem.

# 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

Forçar HTTPS

Leva todo acesso por http para https, com redirecionamento permanente (301).

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

Forçar o endereço com www

Leva seudominio.com.br para www.seudominio.com.br.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^seudominio\.com\.br$ [NC]
RewriteRule ^(.*)$ https://www.seudominio.com.br/$1 [L,R=301]

Forçar o endereço sem www

Leva www.seudominio.com.br para seudominio.com.br. Use este ou o anterior, nunca os dois.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seudominio\.com\.br$ [NC]
RewriteRule ^(.*)$ https://seudominio.com.br/$1 [L,R=301]

Laravel na raiz do public_html

Quando os arquivos do Laravel estão direto em public_html, manda os acessos para a pasta public do projeto. Mantenha o .htaccess que já vem dentro de public.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Site de página única (React, Vue, Angular)

Manda todas as rotas para o index.html, para o site não dar 404 ao recarregar uma página interna.

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

Redirecionar uma página antiga para uma nova

Leva quem abre a página antiga para a nova, de forma permanente (301).

Redirect 301 /pagina-antiga.html https://seudominio.com.br/pagina-nova/

Bloquear a listagem de pastas

Impede que o navegador mostre a lista de arquivos de uma pasta sem página inicial.

Options -Indexes

Proteger arquivos sensíveis

Impede o acesso pelo navegador ao wp-config.php do WordPress e a arquivos .env.

<Files "wp-config.php">
Require all denied
</Files>

<FilesMatch "^\.env">
Require all denied
</FilesMatch>

Cache do navegador e compressão

Faz o navegador guardar imagens, CSS e JavaScript por um tempo e comprime as páginas antes de enviar.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/json image/svg+xml
</IfModule>

A compressão também pode ser ligada sem editar o arquivo; veja "Como ativar a compressão Gzip do site no cPanel".

Como saber se deu certo

Abra o site no navegador logo depois de salvar. A página deve carregar normalmente e a regra nova deve funcionar (por exemplo, o endereço com http passa para https).

Se algo der errado

O site mostra 500 Internal Server Error

Causa: há uma linha inválida ou não permitida no .htaccess. Solução: volte o conteúdo que você copiou antes. Se não tiver a cópia, restaure o arquivo pelo backup.

O navegador mostra "Muitos redirecionamentos"

Causa: duas regras se contradizem, como forçar com www e sem www ao mesmo tempo, ou o próprio sistema do site já força HTTPS. Solução: deixe só uma regra de redirecionamento e teste de novo.

O .htaccess não aparece na lista

Causa: os arquivos ocultos estão escondidos, ou você está em outra pasta. Solução: ligue Mostrar arquivos ocultos (dotfiles) e confira se está em public_html.

Relacionados

  • Como abrir o cPanel da sua hospedagem pelo painel
  • O que é o arquivo .htaccess no cPanel
  • Erro 403 Forbidden no site: o que fazer
  • Como ativar a compressão Gzip do site no cPanel
  • Como restaurar um backup da hospedagem pelo painel
  • Perguntas frequentes sobre o que o suporte da StayCloud faz
Este artigo ajudou?

Viu algo errado ou desatualizado?