# 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.

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](/imagens/ca0e4e15455114c849cac2df3af1d47bd38ba04cbc06a58d96cdc445d6651153.webp)

## 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](/imagens/08c0f6acad3199414b6286ce746b4ae31719fb5f4057f0c65ec097a4cb908488.webp)

## 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](/imagens/b337f389ed6e66b76db9089ee25b12f6471c031acd46c4938672ad475f0c805e.webp)

4. 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](/imagens/ee27e8784ae8f630896303423c6cdbc80be23d2fba49322b03358ed81b90564f.webp)

## 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

---
Fonte: https://help.staycloud.com/artigos/como-editar-o-arquivo-htaccess-no-cpanel
