O arquivo .htaccess é um arquivo de configuração em nível de diretório, suportado pelo servidor web Apache. Ele permite modificar as configurações do servidor web (como ativar ou desativar recursos) para uma conta específica, sem afetar a configuração global do servidor.
Este arquivo aplica suas configurações a todo o diretório onde está localizado, incluindo todos os arquivos e subdiretórios dentro desse diretório. Quaisquer alterações feitas no arquivo .htaccess são aplicadas instantaneamente, sem necessidade de reiniciar o servidor.
Para localizar o arquivo .htaccess:
1. Acesse sua conta Spaceship >> escolha Gerenciador de Hospedagem em Launchpad >> Gerenciar ao lado de um plano de hospedagem >> Arquivos e Armazenamento >> Gerenciar Arquivos próximo ao nome do site.
2. Você será redirecionado para a pasta raiz do domínio.
3. Se precisar editar o arquivo .htaccess do domínio, localize o arquivo .htaccess na pasta raiz do domínio, clique com o botão direito sobre ele e escolha a opção Editar :

NOTA: Certifique-se de que "Mostrar Arquivos Ocultos (dotfiles)" esteja ativado no menu Configurações:

4. Se não houver um arquivo .htaccess no Gerenciador de Arquivos, você pode criar um novo com o botão + Arquivo:

5. Agora você pode adicionar suas próprias regras de configuração e salvá-las.
Este método permite bloquear usuários com base em seu endereço IP ou domínio. É especialmente útil para restringir o acesso de visitantes indesejados ou para limitar o acesso a seções específicas do seu site, como a área administrativa, apenas ao proprietário.
Para implementar regras de bloqueio específicas, crie um arquivo .htaccess com o seguinte conteúdo:
(Para permitir o acesso a todos os outros e bloquear usuários com o endereço IP X.X.X.X)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(Para bloquear todos os visitantes, exceto os IPs específicos X.X.X.X e Y.Y.Y.Y)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
NOTA: Não utilize as diretivas obsoletas Allow, Deny e Order com a nova diretiva Require .
O Mod_Rewrite define como as páginas e URLs são apresentadas aos visitantes.
Por padrão, o Mod_Rewrite mapeia uma URL para um caminho correspondente no sistema de arquivos. No entanto, ele também pode redirecionar uma URL para outra.
Antes de configurar um redirecionamento, é importante escolher o tipo de redirecionamento que melhor atende às suas necessidades:
Redirecionamento Permanente (301): Este redirecionamento envia um código de status 301, indicando que a página foi movida permanentemente. Ele é armazenado em cache no navegador, sinalizando aos mecanismos de busca e agentes de usuário para atualizar a URL em seus bancos de dados. Este é o tipo de redirecionamento mais comum.
Redirecionamento Temporário (302): Este redirecionamento envia um código de status 302, indicando que a mudança é temporária. O navegador não irá armazenar esse redirecionamento em cache e, embora redirecione visitantes e mecanismos de busca, a página original continuará sendo indexada. Este tipo de redirecionamento é recomendado, a menos que você tenha certeza de que a URL não mudará no futuro.
Abaixo está uma lista de alguns dos redirecionamentos mais comuns e úteis que podem ser configurados através do arquivo .htaccess:
Redirecionamento permanente de example1.com para example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
Redirecionamento temporário de exampledomain1.com para exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
NOTA: Abaixo estão exemplos de redirecionamentos permanentes. Redirecionamentos temporários podem ser definidos substituindo [R=301,L] por [R=302,L] ao final do código (quando necessário).
Redirecionamento de example1.com/subfolder para example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
Redirecionamento de HTTP para HTTPS para example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]
ou
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Redirecionamento de não-WWW para WWW
para qualquer domínio, o .htaccess entra em vigor:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
para um domínio específico:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Redirecionamento de WWW para não-WWW
para qualquer domínio o .htaccess entra em vigor:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
para um domínio específico:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Redirecionar todas as páginas de example.com para as páginas correspondentes de domain.com
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
NOTA: Todos os nomes de páginas devem coincidir em ambos os domínios ou o redirecionamento resultará em uma mensagem de "Página não encontrada".
Redirecionar uma página para uma nova URL
Redirect 301 /old_page.html http://www.domain.com/new_page.html
NOTA: Esta técnica pode ser útil para redirecionar uma página excluída para um erro 404, ou para fazer ajustes de SEO após atualizar referências de conteúdo.
Este tipo de regra define restrições de segurança para um diretório ou subdiretório. Você pode proteger diretórios com senha para que qualquer visitante que tente acessá-los seja solicitado a inserir um nome de usuário e senha.
Para configurar essa proteção:
1. Crie o diretório que deseja proteger dentro da pasta /home/cpanel_user/.htpasswds/ (por exemplo, para domain.com/teste, o caminho é .htpasswds/domain.com/teste/).
2. Neste diretório, crie um arquivo passwd e adicione credenciais de acesso criptografadas usando um gerador online.
3. Adicione as seguintes diretivas ao arquivo .htaccess:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
Este recurso permite criar páginas de erro personalizadas para o seu site. É uma opção útil, pois permite apresentar aos visitantes uma mensagem de erro que esteja alinhada com o tema do seu site caso haja URLs quebradas. Isso ajuda a evitar a exibição do erro padrão '404 Arquivo Não Encontrado' e, em vez disso, retorna uma página de erro personalizada com instruções para orientar os usuários de volta ao conteúdo do seu site, evitando confusão.
Para configurar uma página de erro personalizada, adicione o seguinte texto a um arquivo .htaccess:
ErrorDocument 404 /404.html
Esta linha instrui o servidor web Apache a carregar um arquivo 404.html localizado no diretório raiz do domínio sempre que ocorrer um erro 404 (Arquivo Não Encontrado).
NOTA: Para criar páginas de erro personalizadas para outros erros (como 403 ou 500), basta substituir 404 pelo código de erro correspondente e /404.html pelo caminho do seu arquivo de erro personalizado.
Se você precisar desabilitar temporariamente algumas das regras existentes, como para fins de teste, pode facilmente comentá-las. Para isso, basta adicionar um sinal de cerquilha (#) no início da linha.
Como alternativa, você pode desabilitar uma linha ou um bloco de linhas selecionando-as e usando o atalho Ctrl + / .