Como criar e configurar corretamente o arquivo htaccess? Usando o arquivo .htaccess Negar acesso a todos, menos aos endereços IP especificados.

.htaccess(do acesso de hipertexto em inglês) - um arquivo de configuração adicional para o servidor web Apache e alguns outros servidores semelhantes.

Quando usado corretamente, o arquivo de configuração do servidor web Apache .htaccess (acesso por hipertexto) é uma ferramenta muito poderosa no kit de ferramentas do desenvolvedor. Como de costume, o arquivo principal está localizado no diretório raiz do seu servidor web (também pode haver arquivos separados em cada pasta - para controle de acesso) e pode ser corrigido usando qualquer editor de texto. Neste artigo, 24 regras para .htaccess são apresentadas a você com uma explicação de seu uso.

Importante! Via de regra, o arquivo .htaccess é instalado na hospedagem (servidor web) junto com a instalação do site, mas se não estiver lá, você pode criar esse arquivo usando o bloco de notas. Para fazer isso, abra um bloco de notas, adicione as diretivas necessárias, cujos exemplos serão dados a seguir, e salve como um documento de texto com o nome .htaccess. Depois é só remover a extensão .txt e o arquivo está pronto.

Importante! Antes de fazer alterações no arquivo .htaccess, faça backup dele para que, se o site travar, você possa reverter todas as alterações.

Importante! O desempenho das seguintes regras (diretivas) depende das configurações do seu servidor web, definidas pelo host, portanto algumas diretivas podem ser proibidas e não funcionar.

Importante! O abuso de .htaccess pode levar a um desempenho mais lento do seu site. Usar .htaccess para implementar uma tarefa específica só vale a pena se não houver outras opções.

Regras.htaccess

1. Proibimos o download de arquivos de sites externos
O código abaixo colocado no final do seu arquivo .htaccess impedirá que as imagens de seu recurso sejam enviadas para sites de terceiros, economizando tráfego e evitando carga desnecessária em sua hospedagem.

Opções +SeguirSymlinks
#Proibido baixar arquivos de sites externos
Reescrever Motor Ligado
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?seu_dominio.com/
RewriteRule .*.(gif|jpg|png)$ http://your_domain.com/img/goaway.gif

Não se esqueça de alterar seu_dominio.com para seu nome de domínio e criar uma imagem goaway.gif que será exibida no lugar da imagem solicitada.

2. Bloqueie todas as solicitações de User Agents indesejados
Esta regra permite bloquear mensagens indesejadas Agentes do usuário, que podem ser solicitações potencialmente perigosas ou apenas desnecessárias para sobrecarregar o servidor:

#Bloquear bots e robôs indesejados
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase user-Agent ^Java.*
SetEnvIfNoCase user-Agent ^Microsoft.URL
SetEnvIfNoCase user-Agent ^MSFrontPage
SetEnvIfNoCase user-Agent ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
Agente de usuário SetEnvIfNoCase ^Zeus

Ordem Permitir, Negar
Permitir de todos
Negar de env=bad_bot

Uma lista de navegadores User Agent, robôs e spiders de mecanismos de pesquisa, diretórios da web, gerenciadores de download, bots de spam e bots ruins pode ser encontrada em http://www.user-agents.org/

3. Negar acesso a todos, exceto os endereços IP especificados
Se, por qualquer motivo, você quiser negar a todos ou permitir apenas o acesso de determinados endereços IP ao seu site, adicione este código ao seu arquivo .htaccess:

# Negar acesso a todos, exceto os endereços IP especificados
Documento de erro 403 http://seu_dominio.com
Ordem nega, permite
Negar de todos
Permitir de IP1
Permitir de IP2, etc.

Não se esqueça de alterar your_domain.com e IP1,2 etc. ao seu nome de domínio e endereços IP necessários, respectivamente.

4. Crie uma lista negra de endereços IP
Se você deseja bloquear o acesso ao seu recurso para determinados endereços IP, isso pode ser feito usando o seguinte código adicionado ao arquivo .htaccess:

#Criar uma lista negra de endereços IP
permitir de todos
negar de IP1
negar de IP2, etc.

Se o motivo para bloquear um endereço IP são comentários de spam irritantes, você pode descobrir os endereços IP dos comentaristas nos logs do Apache ou usando serviços de estatísticas. Para WordPress, os endereços IP dos comentaristas podem ser vistos no painel de administração. Da mesma forma, é possível bloquear o acesso a uma rede de endereços IP especificando "negar de IP/máscara de rede".

#Criar uma lista negra para a sub-rede
permitir de todos
negar de 192.168.0.0/24

5. Configure um redirecionamento 301 compatível com SEO
Se transferiu um nome de domínio ou pretende redireccionar o utilizador para uma(s) página(s) específica(s) sem ser penalizado pelos motores de busca, utilize este código:

#Como configurar o redirecionamento 301 compatível com SEO
Redirecionar 301 /d/arquivo.html http://seu_dominio.com/r/arquivo.html

Não se esqueça de alterar your_domain.com para seu nome de domínio e /d/file.html e /r/file.html para os diretórios e páginas apropriados.

6. Crie suas próprias páginas de erro
Se você deseja aumentar a exclusividade do seu recurso e, para isso, deseja substituir a aparência padrão das páginas de erro, isso é possível com o seguinte código:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Não se esqueça de criar uma pasta "error" no diretório raiz do seu servidor e colocar os arquivos correspondentes nela.

7. Defina o endereço de e-mail padrão para o administrador do servidor
Use este código para definir o endereço de e-mail padrão do administrador do servidor:

#Defina o endereço de e-mail padrão para o administrador do servidor
E-mail de assinatura do servidor
SetEnv SERVER_ADMIN [e-mail protegido] _dominio.com

Não se esqueça de substituir [e-mail protegido] _domain.com - o endereço de e-mail que você precisa.

8. Proteja um arquivo específico
O código abaixo permite que você negue o acesso a qualquer arquivo - um erro 403 será retornado mediante solicitação. No exemplo, o acesso ao próprio arquivo .htaccess está bloqueado - desta forma você pode aumentar o nível de segurança do site:

#Proteja o arquivo .htaccess

ordem permitir, negar
negar de todos

9. Compacte os componentes do site ativando o Gzip
Ao usar o Gzip, o servidor compactará os arquivos antes de enviá-los ao usuário, para que seu site carregue mais rápido:

#Compactar os componentes do site ativando o Gzip
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Observe que ativar a compactação causará mais carga no processador do servidor.

10. Comprima elementos com mod_deflate
Como alternativa à compactação de arquivos com Gzip, você pode usar mod_deflate(provavelmente mais rápido). Coloque o seguinte código no topo do seu arquivo .htaccess (você também pode adicionar .jpg|.gif|.png|.tiff|.ico):

#Compactar elementos com mod_deflate


SetOutputFilter DEFLATE

11. Adicione expiração aos cabeçalhos
Este código permite adicionar datas de expiração aos cabeçalhos:

#Adicionar expiração aos cabeçalhos

Cabeçalho definido Expira “Quarta, 31 de dezembro de 2014 20:00:00 GMT+2”

12. Definir páginas padrão
Normalmente, a página padrão é index.html, porém com este código você pode definir qualquer outra página como padrão:

#Defina uma página padrão alternativa
DirectoryIndex yourpage.html

Não se esqueça de substituir yourpage.html pela página que você precisa

13. Pastas e arquivos protegidos por senha
Você pode ativar a verificação de senha para acessar qualquer pasta ou arquivo em seu servidor usando este código:

#senha proteja o arquivo

AuthType Básico
AuthName "Prompt"

Exigir usuário válido

#pasta proteção por senha
reside
AuthType básico
AuthName "Este diretório está protegido"
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Exigir usuário válido

Para organizar o acesso a um arquivo com uma senha, você precisa criar um arquivo .htpasswd e insira um par de senha de login no formato usuário senha. No entanto, neste caso, as senhas serão armazenadas em texto simples, o que não é muito bom do ponto de vista da segurança. Portanto, a melhor solução seria criptografar a senha. Para fazer isso, use os serviços de geração de entradas em arquivos .htpasswd.
Por exemplo, http://www.htaccesstools.com/htpasswd-generator/
No exemplo, o arquivo com as senhas de acesso está localizado no diretório raiz do site e se chama .htpasswd. O diretório é especificado na raiz do servidor e, se o caminho estiver incorreto - o Apache, não tendo acesso ao arquivo, negará o acesso à pasta a qualquer usuário - incluindo aquele que inseriu o par login:senha correto.

14. Redirecionando do domínio antigo para o novo
Usando .htaccess, você pode configurar um redirecionamento do nome de domínio antigo para o novo adicionando o seguinte código:

#Redirecionando do domínio antigo para o novo
Reescrever Motor Ligado
RewriteRule ^(.*)$ http://www.seunovodominio.com/$1

Um redirecionamento é usado se você estiver migrando seu site existente para um novo nome de domínio. Nesse caso, qualquer usuário que digitar http://www.yourolddomain.com na barra de endereço será redirecionado para http://www.yournewdomain.com.

15. Fortaleça o armazenamento em cache
Usar esta regra não acelera diretamente o carregamento do seu site. Destina-se a tornar o carregamento do site mais rápido - para um visitante que já o visitou, enviando um estado 304 para os elementos que não foram atualizados. Assim, ao recarregar a página, o navegador do visitante não fará o download novamente de imagens, scripts ou CSS, mas exibirá os arquivos que já estão armazenados em seu cache. Você pode alterar o tempo de vida do cache ajustando seu valor em anos (ano), meses (mês) ou, por exemplo, segundos (segundos):

# Fortalecimento do cache
FileETag MTime Size


Expira Ativo em
ExpiresDefault “acesso mais 1 mês”


No exemplo, 1 mês é especificado.

16. Remova "categoria" do URL
Para alterar o link de http://yourdomain.com/category/news para http://yourdomain.com/news, basta adicionar o seguinte código ao final do seu arquivo .htaccess:

#Remover categoria da URL
RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1

Não se esqueça de alterar http://www.yourdomain.com para o seu nome de domínio.

17. Proibimos a visualização do conteúdo da pasta
Para restringir o acesso a diretórios que podem conter informações diversas e para garantir a segurança do servidor, adicione este código ao arquivo .htaccess:

#Proibir a visualização do conteúdo da pasta
Opções Todos os Índices

Existe uma solução alternativa que dá o mesmo resultado, para isso você precisa colocar um arquivo vazio em cada pasta do seu site index.html. Este método só funcionará se você não tiver alterado a página padrão (consulte a regra 12). Se foram feitas alterações, você deve colocar os arquivos com o novo nome definido como página padrão.

18. Redirecione o feed RSS do WordPress para o FeedBurner
Este código permite redirecionar o feed RSS do WordPress CMS para o serviço Google Feedburner:

#Redirecione o feed RSS do WordPress para o FeedBurner

Motor de reescrita ativado
RewriteCond %(HTTP_USER_AGENT) !FeedBurner
RewriteCond %(HTTP_USER_AGENT) !FeedValidator
RewriteRule ^rss.xml$ http://feeds.feedburner.com/yourfeed

Inicialmente, você precisa registrar o feed do seu blog no serviço Alimentador do Google. Em seguida, não se esqueça de substituir seu feed pelo nome do seu feed já em Alimentador.

19. Desativar comentários de usuários sem referenciador
Na maioria das vezes, os spambots acessam o arquivo wp-comments-post.php diretamente, sem acessar as páginas de postagem do seu blog. O código abaixo permite bloquear comentários enviados por usuários que vieram "do nada", permitindo que comentários sejam feitos por leitores que chegaram à página do seu blog de alguma outra página (por exemplo, resultados de pesquisa do Google, Yandex, etc.):

#Desativar comentários de usuários sem Referrer
Reescrever Motor Ligado
RewriteCond %(REQUEST_METHOD) POST
RewriteCond %(REQUEST_URI) .wp-comments-post\.php*

RewriteCond %(HTTP_REFERER) !.*seublog.com.*
RewriteCond %(HTTP_USER_AGENT) ^$
RewriteRule (.*) ^http://%(REMOTE_ADDR)/$
Não se esqueça de substituir seublog.com ao nome de domínio do seu blog.

20. Remova a extensão do arquivo da URL
Este código permite remover a extensão de arquivo .php (você pode alterá-la para qualquer outra, por exemplo, t 2.html) das URLs das páginas:

#Remova a extensão do arquivo da URL
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

21. Protegendo o site
Este código permite que você proteja seu site de injeção de script e modificações indesejadas _SOLICITAR» e/ou « GLOBAIS»:

#Ativar rastreamento de link sim
Opções +FollowSymLinks
#Execute url_rewriting
Reescrever Motor Ligado
#Bloqueie todos os links que contenham