{"id":11600,"date":"2019-01-11T11:59:03","date_gmt":"2019-01-11T13:59:03","guid":{"rendered":"https:\/\/ajuda.locaweb.com.br\/?post_type=ht_kb&#038;p=11600"},"modified":"2025-07-15T11:26:39","modified_gmt":"2025-07-15T14:26:39","slug":"comandos-uteis-no-htaccess","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/comandos-uteis-no-htaccess\/","title":{"rendered":"Comandos \u00fateis no .htaccess"},"content":{"rendered":"<p>Neste artigo veremos alguns comandos para utilizar em sua aplica\u00e7\u00e3o atrav\u00e9s do arquivo .htaccess, acompanhe os detalhes logo abaixo:<\/p>\n<h6><strong><span id=\"Criando_um_arquivo_.htaccess\" class=\"mw-headline\">Criar arquivo .htaccess<\/span><\/strong><\/h6>\n<ul>\n<li>Para criar um arquivo <strong>.htaccess<\/strong> abra um dos editores como o <strong>Notepad++<\/strong> ou\u00a0 <strong>Bloco de Notas<\/strong>.<\/li>\n<li>Crie um arquivo e ent\u00e3o salve-o como <strong>.htaccess.<\/strong><\/li>\n<li>Vamos \u00e0s dicas de utiliza\u00e7\u00e3o, lembrando antes que v\u00e1rias delas exigem a utiliza\u00e7\u00e3o do m\u00f3dulo <b>mod_rewrite<\/b>\u00a0no servidor. Verifique antes de tudo se ele se encontra habilitado no Apache.<\/li>\n<\/ul>\n    \t\t<div class=\"hts-messages hts-messages--alert    \"   >\r\n    \t\t\t    \t\t\t    \t\t\t\t<p>\r\n    \t\t\t\t\tN\u00e3o utilize os comandos abaixo sem um breve conhecimento, ou sem realizar os testes necess\u00e1rios. Qualquer utiliza\u00e7\u00e3o indevida poder\u00e1 acarretar em erros no carregamento do seu site.<br \/>\nLembrando que as instru\u00e7\u00f5es contidas nessa p\u00e1gina s\u00f3 s\u00e3o v\u00e1lidas para ambientes\u00a0<strong>Linux<\/strong>.    \t\t\t\t<\/p>\r\n    \t\t\t    \t\t\t\r\n    \t\t<\/div><!-- \/.ht-shortcodes-messages -->\r\n    \t\t\n<h6>Bloquear<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Bloquear os visitantes com base no referring domain<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Voc\u00ea pode tamb\u00e9m impedir que determinados visitantes acessem seu site com base no \u201creferring domain\u201d, ou seja, com base no site que \u201cindicou\u201d o seu a eles.<\/li>\n<li>Digamos que exista algum link para seu site, por algum motivo, em algum \u201csite duvidoso\u201d na R\u00fassia. Ou qualquer outro motivo, localiza\u00e7\u00e3o, etc:<\/li>\n<\/ul>\n<pre>RewriteEngine on\r\nRewriteCond %{HTTP_REFERER} dominioproblematico1.com [NC,OR] RewriteCond %{HTTP_REFERER} dominioproblematico2.com [NC,OR] RewriteRule .* - [F] \r\n<\/pre>\n<ul>\n<li>Voc\u00ea pode incluir\/editar os \u201cdom\u00ednios problem\u00e1ticos\u201d conforme suas necessidades, ou at\u00e9 mesmo adicionar mais.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Bloquear hotlinks em imagens<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<p>Para evitar que outros utilizem imagens hospedadas em seu servidor, use o seguinte c\u00f3digo:<\/p>\n<pre>RewriteEngine on\r\nRewriteCond %{HTTP_REFERER} !^$\r\nRewriteCond %{HTTP_REFERER} !^http(s)?:\/\/(www\\.)?meusite.com [NC]\r\nRewriteRule \\.(jpg|jpeg|png|gif)$ - [NC,F,L]\r\n<\/pre>\n<ul>\n<li>Ao usar o c\u00f3digo acima, qualquer site que tentar utilizar suas imagens ser\u00e1 impedido. N\u00e3o se esque\u00e7a de substituir &#8221;meusite.com&#8221; com a URL.<\/li>\n<li><strong>Por exemplo<\/strong>: &#8221;codigofonte.com.br\/&#8221; , &#8221;meublog.net\/&#8221;, etc.<\/li>\n<li>Repare tamb\u00e9m que o c\u00f3digo acima previne <strong>hotlinks<\/strong> em imagens com as extens\u00f5es <strong>.jpg , .jpeg , .png e .gif<\/strong> . Voc\u00ea pode alterar tamb\u00e9m esta linha do c\u00f3digo, adicionando novos tipos de arquivos, removendo, etc. Apenas lembre-se de respeitar a sintaxe.<\/li>\n<li>Adicione a linha abaixo ao final do arquivo, logo abaixo de <i>&#8220;<strong>RewriteRule \\.<\/strong><\/i>(jpg|jpeg|png|gif)$ \u2013 [NC,F,L]&#8221;:<\/li>\n<\/ul>\n<pre>RewriteRule .*\\.(jpg|jpeg|png|gif)$ \/imagens\/imagemalerta.jpg [L]\r\n<\/pre>\n<ul>\n<li>Lembre-se de que neste caso a imagem \u201c<strong>imagemalerta.jpg<\/strong>\u201d dever\u00e1 existir dentro do diret\u00f3rio \u201c\/<strong>imagens<\/strong>\/\u201d, em seu servidor web.<\/li>\n<li>Se ao inv\u00e9s de exibir uma outra imagem voc\u00ea desejar exibir simplesmente um <a href=\"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/comandos-uteis-no-htaccess\/\" target=\"_blank\" rel=\"noopener\"><strong>erro 403 (Forbidden)<\/strong><\/a>, utilize o c\u00f3digo abaixo no lugar:<\/li>\n<\/ul>\n<pre>RewriteRule .*\\.(jpg|jpeg|png|gif)$ - [F]<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>Protegendo seus arquivos<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Protegendo seu arquivo .htaccess<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Para impedir o acesso ao .<strong>htaccess<\/strong> e aumentar ainda mais a seguran\u00e7a do seu site, basta adicionar o seguinte c\u00f3digo a ele mesmo:<\/li>\n<\/ul>\n<pre>order allow,deny\r\ndeny from all\r\nsatisfy all\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Protegendo a \u00e1rea administrativa do WordPress<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li><strong>Se voc\u00ea utiliza o CMS WordPress, nunca \u00e9 demais proteger sua \u00e1rea administrativa, prevenindo invas\u00f5es e ataques<\/strong>. Crie um arquivo .htaccess conforme explicado abaixo e o coloque dentro da pasta \/wp-admin\/:<\/li>\n<\/ul>\n<pre>order deny,allow\r\ndeny from all\r\nallow from 79.187.22.68\r\n\r\n<\/pre>\n<ul>\n<li>Note que este \u00e9 um m\u00e9todo de prote\u00e7\u00e3o um tanto quanto dr\u00e1stico. Estamos aqui liberando o acesso \u00e0 \u00e1rea administrativa do WordPress para um \u00fanico IP.<\/li>\n<li>O seu, no caso. Altere o c\u00f3digo acima e substitua \u201c79.187.22.68\u2033 pelo seu IP. Para descobri-lo, basta acessar este link ou este.<\/li>\n<li>No Windows, voc\u00ea pode tamb\u00e9m acessar o prompt do DOS e digitar o comando abaixo, seguido de um\u00a0:<\/li>\n<\/ul>\n<pre>ipconfig\r\n<\/pre>\n<ul>\n<li>J\u00e1 no Linux, utilize um dos comandos abaixo, tamb\u00e9m com um\u00a0em seguida:<\/li>\n<\/ul>\n<pre>\/sbin\/ifconfig -a\r\n<\/pre>\n<p>Ou<\/p>\n<pre>ifconfig -a\r\n<\/pre>\n<p><b>OBS:<\/b>\u00a0esta prote\u00e7\u00e3o ter\u00e1 tamb\u00e9m um \u201ccusto\u201d.<\/p>\n<ul>\n<li>Caso seu IP seja din\u00e2mico, voc\u00ea ter\u00e1 que alterar o .htaccess acima praticamente todos os dias, removendo o IP \u201cvelho\u201d e adicionando o \u201cnovo\u201d. Mas a seguran\u00e7a extra vale a pena, \u00e9 claro.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Protegendo o arquivo wp-config.php do WordPress<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>O arquivo<strong> wp-config.php<\/strong> do WordPress, <strong>localizado na raiz da instala\u00e7\u00e3o<\/strong> do sistema, \u00e9 outro elemento important\u00edssimo do CMS. Ele guarda, por exemplo, informa\u00e7\u00f5es da base de dados em utiliza\u00e7\u00e3o <strong>(nome do banco, usu\u00e1rio, senha<\/strong>). Isto dentre outros dados cr\u00edticos.<\/li>\n<li>Desabilitar o acesso a ele tamb\u00e9m \u00e9 essencial para manter o seu blog em seguran\u00e7a. Use o seguinte c\u00f3digo:<\/li>\n<\/ul>\n<pre>order allow,deny\r\ndeny from all\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Protegendo a pasta wp-content do WordPress<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Outra \u00e1rea cr\u00edtica do WordPress, na pasta <strong>wp-content<\/strong> que se encontram <strong>arquivos de temas, de plugins e tamb\u00e9m os arquivos enviados para o servido<\/strong>r para a devida inser\u00e7\u00e3o em postagens, por exemplo (imagens, etc).<\/li>\n<li>Utilize o c\u00f3digo abaixo em um arquivo .htacess e o envie para a pasta \u201c<strong>\/wp-content\/<\/strong>\u201d:<\/li>\n<\/ul>\n<pre>Order deny,allow\r\nDeny from all\r\nAllow from all\r\n<\/pre>\n<ul>\n<li>O <strong>snippet<\/strong> acima far\u00e1 com que upload de arquivos seja feito somente para os\u00a0 especificados no c\u00f3digo.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Proteger diret\u00f3rio com senha<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Uma das funcionalidades mais usadas e bacanas do .htaccess: proteger um diret\u00f3rio qualquer com senha.<\/li>\n<li>Para acessar o diret\u00f3rio em quest\u00e3o (e, consequentemente, tudo o que estiver dentro dele), o visitante dever\u00e1 informar um \u201cusu\u00e1rio\u201d e uma \u201csenha\u201d.<\/li>\n<li>Observe que aqui deveremos utilizar dois arquivos: o .<strong>htaccess<\/strong> e o arquivo que conter\u00e1 as senhas, o .<strong>htpasswd<\/strong> . O .htaccess voc\u00ea j\u00e1 sabe como criar, e para criar o arquivo das senhas, o .htpasswd , utilize este gerador online (i<strong>sto porque as senhas devem ser transformadas em hashs MD5<\/strong>).<\/li>\n<li>No site <strong>&#8221;<a href=\"http:\/\/www.htaccesstools.com\/htpasswd-generator\/\" target=\"_blank\" rel=\"noopener noreferrer\">Htpasswd Generator<\/a>&#8221;<\/strong>, informe o <strong>usu\u00e1rio\u00a0<\/strong>e a <strong>senha<\/strong>. Em seguida clique no bot\u00e3o <strong>Create .htpasswd file<\/strong>. Repita o processo quantas vezes forem necess\u00e1rias para transformar todas as senhas desejadas em <strong>hashs MD5<\/strong>.<\/li>\n<li>O gerador fornece o resultado logo em seguida, e \u00e9 isto que voc\u00ea deve copiar e colar no arquivo .htpasswd (um conjunto de usu\u00e1rio e senha por linha). Cada conjunto de \u201cusu\u00e1rio\u201d e \u201csenha\u201d \u00e9 mais ou menos igual ao exemplo abaixo:<\/li>\n<\/ul>\n<pre>teste:$apr1$7KeyxOFe$sEEZhgvhSMKkHQTbXkqjs0\r\n<\/pre>\n<ul>\n<li>Este procedimento tamb\u00e9m pode ser realizado <strong>atrav\u00e9s do SSH<\/strong>, vale lembrar. Use o comando abaixo no prompt ap\u00f3s se conectar ao servidor:<\/li>\n<\/ul>\n<pre>htpasswd -c \/home\/usuario\/.htpasswd nomedousuario\r\n<\/pre>\n<ul>\n<li>Onde <strong>\u201c\/home\/usuario\/\u201d<\/strong> \u00e9 o diret\u00f3rio onde o arquivo ser\u00e1 gerado, e \u201c<strong>nomedousuario<\/strong>\u201d \u00e9, bem, o nome do usu\u00e1rio. Durante este procedimento voc\u00ea ser\u00e1 solicitado a informar uma senha para o usu\u00e1rio em quest\u00e3o.<\/li>\n<li>Para adicionar novos usu\u00e1rios (lembrando que voc\u00ea sempre ser\u00e1 solicitado a informar as respectivas senhas), use o comando abaixo:<\/li>\n<\/ul>\n<pre>htpasswd \/home\/usuario\/.htpasswd nomedousuario2\r\n<\/pre>\n<ul>\n<li>Observe que nos comandos acima, o par\u00e2metro &#8221;<strong>-c<\/strong>&#8221; foi utilizado para criar o arquivo .<strong>htpasswd<\/strong> j\u00e1 com um usu\u00e1rio.<\/li>\n<li>J\u00e1 no segundo comando o par\u00e2metro n\u00e3o \u00e9 necess\u00e1rio, pois estamos adicionando um novo usu\u00e1rio (nomedousuario2) a um arquivo .htpasswd <strong>j\u00e1 existente<\/strong>.<\/li>\n<li>E assim por diante. Mas, continuando, ap\u00f3s a cria\u00e7\u00e3o do .htpasswd, envie-o para um diret\u00f3rio acima de sua pasta raiz.<\/li>\n<li>Por exemplo, um n\u00edvel acima de sua pasta \u201cpublic_html\u201d (\/home\/usuario\/\u201d, digamos).<\/li>\n<li>Vamos agora \u00e0 cria\u00e7\u00e3o do .htaccess para a prote\u00e7\u00e3o do diret\u00f3rio, ressaltando que este arquivo deve ser enviado para a pasta que vai ser protegida:<\/li>\n<\/ul>\n<pre>AuthType Basic\r\nAuthName \"Acesso Restrito!\"\r\nAuthUserFile \/home\/usuario\/.htpasswd\r\nRequire valid-user\r\n<\/pre>\n<p>Observe o seguinte:<\/p>\n<ul>\n<li><b>AuthName:<\/b>\u00a0\u00e9 uma mensagem que pode ser customizada conforme voc\u00ea desejar. Esta mensagem aparecer\u00e1 na janela na qual ser\u00e3o soliciados os dados de login;<\/li>\n<li><b>AuthUserFile:<\/b>\u00a0caminho absoluto para o arquivo .htpasswd;<\/li>\n<\/ul>\n<p>Pronto. Seu diret\u00f3rio foi protegido com senha. Lembre-se de realizar as altera\u00e7\u00f5es necess\u00e1rias relativas aos caminhos, nomes de pastas, usu\u00e1rios, senhas, etc.<\/p>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>Personalizar erros<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Usando p\u00e1ginas de erro personalizadas<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Para evitar que os visitantes caiam em p\u00e1ginas de erro padr\u00e3o do Apache ou ent\u00e3o nas famosas \u201c<strong>404 Not Found<\/strong>\u201d padr\u00e3o, por exemplo (caso tentem acessar uma URL inexistente), voc\u00ea pode adicionar a seguinte linha ao seu .htaccess:<\/li>\n<\/ul>\n<pre>ErrorDocument 404 \/erros\/naoencontrado.html\r\n<\/pre>\n<ul>\n<li>Observe que a p\u00e1gina &#8221;&#8217;<strong>naoencontrado.html&#8217;<\/strong>&#8221; deve existir dentro do diret\u00f3rio &#8221;&#8217;\/<strong>erros<\/strong>\/&#8221;&#8217;.<\/li>\n<li>Voc\u00ea pode personaliz\u00e1-la como bem entender, adicionando <strong>links<\/strong> para sua p\u00e1gina principal, formul\u00e1rio de contato, etc. Para cobrir outros tipos de erro, utilize tamb\u00e9m os c\u00f3digos abaixo:<\/li>\n<\/ul>\n<pre>ErrorDocument 400 \/erros\/badrequest.html\r\nErrorDocument 401 \/erros\/authreqd.html\r\nErrorDocument 403 \/erros\/forbid.html\r\nErrorDocument 500 \/erros\/serverr.html<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>Outros comandos<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Banindo IPs<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Digamos que voc\u00ea sofra ataques do tipo brute force, ou tenha problemas com spammers.<\/li>\n<li>Vamos imaginar qualquer situa\u00e7\u00e3o problem\u00e1tica para seu site e\/ou servidor, na qual voc\u00ea j\u00e1 tenha identificado os IPs problem\u00e1ticos. \u00c9 muito simples bloque\u00e1-los atrav\u00e9s do .htaccess:<\/li>\n<\/ul>\n<pre>allow from all\r\ndeny from 200.143.89.154\r\ndeny from 67.122.145.60\r\ndeny from 74.14.13.246\r\ndeny from 67.224.175.26\r\n<\/pre>\n<ul>\n<li>Observe que os IPs informados acima foram inseridos apenas a t\u00edtulo de exemplo. Altere conforme sua necessidade.<\/li>\n<li>Caso seja necess\u00e1rio informar (bloqueando, assim) mais IPs, basta adicionar novas linhas \u201cdeny from\u201d, seguidas do IP. E assim por diante.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Usando o cache do navegador<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Voc\u00ea pode acelerar o tempo de carregamento do site,<strong> for\u00e7ando a utiliza\u00e7\u00e3o do cache do navegador<\/strong>.<\/li>\n<li>Assim, os <strong>browsers dos visitantes ser\u00e3o capazes de salvar elementos de seu website, de maneira tal que eles n\u00e3o ser\u00e3o baixados novamente<\/strong> e desnecessariamente, a cada novo acesso.<\/li>\n<li>Isto garante economia de banda para o propriet\u00e1rio do site e para o visitante:<\/li>\n<\/ul>\n<pre>ExpiresActive On\r\nExpiresByType image\/jpg \"access 1 year\"\r\nExpiresByType image\/jpeg \"access 1 year\"\r\nExpiresByType image\/gif \"access 1 year\"\r\nExpiresByType image\/png \"access 1 year\"\r\nExpiresByType text\/css \"access 1 month\"\r\nExpiresByType application\/pdf \"access 1 month\"\r\nExpiresByType text\/x-javascript \"access 1 month\"\r\nExpiresByType application\/x-shockwave-flash \"access 1 month\"\r\nExpiresByType image\/x-icon \"access 1 year\"\r\nExpiresDefault \"access 2 days\"\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Compress\u00e3o via .htaccess<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Caso voc\u00ea deseje utilizar c<strong>ompress\u00e3o GZIP no servidor<\/strong>, para economizar banda, para &#8221;deixar os motores de busca mais felizes&#8221;, etc, insira o c\u00f3digo abaixo em seu .htaccess, <strong>lembrando que para que ele funcione, o m\u00f3dulo mod_gzip deve estar habilitado no Apache<\/strong>:<\/li>\n<\/ul>\n<pre>mod_gzip_on       Yes\r\nmod_gzip_dechunk  Yes\r\nmod_gzip_item_include file      \\.(html?|css|js|php|pl)$\r\nmod_gzip_item_include handler   ^cgi-script$\r\nmod_gzip_item_include mime      ^text\/.*\r\nmod_gzip_item_include mime      ^application\/x-javascript.*\r\nmod_gzip_item_exclude mime      ^image\/.*\r\nmod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*\r\n\r\n<\/pre>\n<ul>\n<li>J\u00e1 para utilizar a compress\u00e3o com o <strong>mod_deflate<\/strong> (n\u00e3o se esque\u00e7a de que este m\u00f3dulo deve estar habilitado no Apache), utilize o c\u00f3digo abaixo:<\/li>\n<\/ul>\n<pre>SetOutputFilter DEFLATE\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Listagem de arquivos e diret\u00f3rios<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Voc\u00ea pode tamb\u00e9m utilizar o .htaccess para evitar a listagem de diret\u00f3rios. Para evitar que o conte\u00fado de um diret\u00f3rio seja exibido quando algum usu\u00e1rio o acessar (por exemplo, quando algu\u00e9m acessa \u201cwww.seusite.com.br\/nomedapasta\u201d ou \u201cwww.seusite.com.br\/imagens\u201d. Use a linha de comando abaixo:<\/li>\n<\/ul>\n<pre>Options -Indexes\r\n<\/pre>\n<ul>\n<li>Seguindo a mesma l\u00f3gica, para fazer o inverso, for\u00e7ando o servidor a listar os arquivos do diret\u00f3rio, use a linha de comando abaixo:<\/li>\n<\/ul>\n<pre>Options +Indexes<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Controlando o acesso a arquivos e diret\u00f3rios<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Digamos que voc\u00ea deseja evitar que terceiros acessem determinados arquivos e pastas em seu site. Voc\u00ea possui um script qualquer instalado, por exemplo, e deseja evitar que visitantes acessem sua pasta &#8221;<strong>includes<\/strong>&#8221;.<\/li>\n<li>Por outro lado, voc\u00ea precisa garantir que qualquer p\u00e1gina do site em quest\u00e3o possa \u201cchamar\u201d sem problemas os arquivos contidos nesta pasta.<\/li>\n<li>Basta, ent\u00e3o, adicionar um .htaccess com o seguinte conte\u00fado na tal pasta, no caso, a &#8221;includes&#8221;:<\/li>\n<\/ul>\n<pre># Acesso restrito!\r\ndeny from all\r\n<\/pre>\n<ul>\n<li>Voc\u00ea pode tamb\u00e9m limitar o acesso apenas a uma determinada faixa de IPs:<\/li>\n<\/ul>\n<pre># Acesso restrito!\r\norder deny,allow\r\ndeny from all\r\nallow from 192.168.0.1\/24\r\n<\/pre>\n<ul>\n<li>N\u00e3o esque\u00e7a de alterar a faixa de IPs conforme sua necessidade.<\/li>\n<li>E voc\u00ea pode tamb\u00e9m <strong>banir um determinado IP<\/strong>. Algum <strong>crawler<\/strong> insistente, por exemplo, que esteja <strong>sobrecarregando o sistema, ou ent\u00e3o algum IP que voc\u00ea j\u00e1 sabe ser indesejado<\/strong>. Utilize o c\u00f3digo abaixo:<\/li>\n<\/ul>\n<pre># Proibido...\r\norder allow,deny\r\ndeny from 74.184.25.218\r\nallow from all\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Reescrevendo URLs \u2013 Tornando-as amig\u00e1veis<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Com .htaccess, tamb\u00e9m podemos reescrever URLs. Podemos torn\u00e1-las mais amig\u00e1veis, tanto para os motores de busca quanto para os visitantes.<\/li>\n<li>Digamos que voc\u00ea possua uma loja virtual e nela venda diversos produtos. Digamos, agora, que suas URLs possuem a seguinte estrutura:<\/li>\n<li>www.meusite.com\/produto.php?id=12<\/li>\n<li>Por\u00e9m \u00e9 muito mais f\u00e1cil, simples e amig\u00e1vel trabalhar com a estrutura do exemplo abaixo:<\/li>\n<li>www.meusite.com\/produto-12.html<\/li>\n<li>Confira os exemplos abaixo e utilize os que se adequarem \u00e0s suas necessidades, lembrando sempre de realizar as altera\u00e7\u00f5es nas URLs, nos caminhos, etc:<\/li>\n<\/ul>\n<p><strong>Reescrevendo produto.php?id=12 para produto-12.html:<\/strong><\/p>\n<pre>RewriteEngine on\r\nRewriteRule ^produto-([0-9]+)\\.html$ produto.php?id=$1\r\n<\/pre>\n<p><strong>Reescrevendo produto.php?id=12 para produto\/hub-usb\/12.html:<\/strong><\/p>\n<pre>RewriteEngine on\r\nRewriteRule ^produto\/([a-zA-Z0-9_-]+)\/([0-9]+)\\.html$ produto.php?id=$2\r\n<\/pre>\n<p><strong>Redirecionando URLs sem www para URLs com www:<\/strong><\/p>\n<pre>RewriteEngine On\r\nRewriteCond %{HTTP_HOST} ^seudominio.com\r\nRewriteRule ^ http:\/\/www.seudominio.com%{REQUEST_URI} [L,R=301]\r\n<\/pre>\n<p><strong>Redirecionando URLs com www para URLs sem www:<\/strong><\/p>\n<pre>RewriteEngine On\r\nRewriteCond %{HTTP_HOST} ^www.(.*) [NC]\r\nRewriteRule ^(.*) http:\/\/%1\/$1 [R=301,L]<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Removendo extens\u00f5es de arquivos das URLs<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Voc\u00ea pode tamb\u00e9m remover as extens\u00f5es dos arquivos das URLs com um arquivo .htaccess.<\/li>\n<li>Por exemplo, ao inv\u00e9s de seu visitante visualizar algo como\u00a0<strong><i>contato.php<\/i><\/strong>\u00a0na barra de endere\u00e7os do navegador, ele pode visualizar simplesmente &#8221;<strong>contato<\/strong>&#8221;.<\/li>\n<li>Use o c\u00f3digo abaixo em um arquivo .htaccess:<\/li>\n<\/ul>\n<pre>RewriteEngine on\r\nRewriteCond %{REQUEST_FILENAME} !-d\r\nRewriteCond %{REQUEST_FILENAME}\\.html -f\r\nRewriteRule ^(.*)$ $1.html\r\n<\/pre>\n<ul>\n<li>No exemplo acima, a extens\u00e3o .html ser\u00e1 removida\/escondida. <strong>Voc\u00ea pode tamb\u00e9m usar o mesmo snippet para esconder outras extens\u00f5es de arquivos<\/strong>, como por exemplo .php . Basta realizar as devidas substitui\u00e7\u00f5es.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>For\u00e7ar<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">For\u00e7ando downloads de determinados tipos de arquivos<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Dependendo do arquivo e das configura\u00e7\u00f5es do servidor, este \u00faltimo pode oferecer ao visitante 2 op\u00e7\u00f5es ap\u00f3s o clique em um link: baixar o arquivo para seu PC ou ent\u00e3o abri-lo remotamente (documentos do Word, PDFs, etc).<\/li>\n<li>Para for\u00e7ar o download, evitando que a op\u00e7\u00e3o de escolha apare\u00e7a para o visitante, utilize o c\u00f3digo abaixo:<\/li>\n<\/ul>\n<pre>AddType application\/octet-stream .pdf\r\nAddType application\/octet-stream .avi\r\nAddType application\/octet-stream .xls\r\n<\/pre>\n<ul>\n<li>No exemplo acima, todos os arquivos com extens\u00f5es .pdf , .avi e .xls ser\u00e3o automaticamente baixados para o computador do visitante sempre que ele clicar nos links a eles correspondentes.<\/li>\n<li>Adicione novas linhas e\/ou altere os tipos de arquivos conforme suas necessidades.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">For\u00e7ar redirecionamento de http para https (SSL)<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<pre>RewriteEngine On\r\nRewriteCond %{HTTPS} !on\r\nRewriteRule (.*) https:\/\/%{HTTP_HOST}%{REQUEST_URI}<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">For\u00e7ando UTF-8<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Para evitar problemas de codifica\u00e7\u00e3o e renderiza\u00e7\u00e3o com seus arquivos .html, por exemplo, voc\u00ea pode incluir o seguinte c\u00f3digo em seu .htaccess para for\u00e7ar o uso da codifica\u00e7\u00e3o UTF-8:<\/li>\n<\/ul>\n<pre>&lt;filesmatch \".(htm|html|css|js)$\"=\"\"&gt;\r\nAddDefaultCharset UTF-8\r\n<\/pre>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>Definir as p\u00e1ginas iniciais<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Definir as p\u00e1ginas iniciais padr\u00e3o<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Voc\u00ea pode tamb\u00e9m definir no .htaccess quais p\u00e1ginas iniciais ser\u00e3o consideradas como p\u00e1ginas <strong>padr\u00e3o\/default<\/strong>, como p\u00e1ginas de \u00edndice (index):<\/li>\n<\/ul>\n<pre>DirectoryIndex index.html index.php index.html\r\n<\/pre>\n<ul>\n<li>No exemplo acima, os arquivos <strong>index.htm, index.php e index.html<\/strong> ser\u00e3o considerados como p\u00e1ginas de \u00edndice.<\/li>\n<li>Por outro lado, caso voc\u00ea deseje ter outro arquivo que n\u00e3o seja um index.html (ou qualquer outro index) como p\u00e1gina inicial, basta utilizar um .htaccess da seguinte forma:<\/li>\n<\/ul>\n<pre>DirectoryIndex empresa.html\r\n<\/pre>\n<ul>\n<li>No exemplo acima, sua p\u00e1gina inicial ser\u00e1 o arquivo \u201cempresa.html\u201d. Sempre que um visitante acessar o seu dom\u00ednio, por exemplo, \u201cwww.seusite.com.br\u201d, ele ser\u00e1 automaticamente redirecionado para \u201cwww.seusite.com.br\/empresa.html\u201d.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Definindo ordem de p\u00e1ginas do Apache<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li><b>1.<\/b> Crie um arquivo .htaccess no diret\u00f3rio que deseja, por exemplo se voc\u00ea deseja apenas que a sua ordem funcione dentro de public_html, grave o mesmo neste diret\u00f3rio.<\/li>\n<li>Caso tenha um dom\u00ednio adicional que aponta para um diret\u00f3rio dentro de public_html coloque o .htaccess dentro de public_html\/diretorio_site_adicional<\/li>\n<li>Por padr\u00e3o a ordem do\u00a0<b>APACHE\u00a0<\/b>\u00e9: index.jsp, index.htm, index.html, index.php, index.shtml, index.php3, index.phtml, index.wml, index.php4<\/li>\n<li><b>2.<\/b>\u00a0Adicione o conte\u00fado em seu .htaccess, observe que abaixo estou definindo a p\u00e1gina\u00a0<b>ola.php<\/b>\u00a0como p\u00e1gina a ser carrega primeiro por padr\u00e3o:<\/li>\n<\/ul>\n<pre>DirectoryIndex ola.php default.html index.php index.html index.htm\r\n<\/pre>\n<p><strong>Obs.<\/strong>: Observe que o nome da p\u00e1gina ou extens\u00e3o, \u00e9 inserido a que voc\u00ea deseja.<\/p>\n<p><strong>Exemplo<\/strong><\/p>\n<p>O arquivo acima sendo salvo em\u00a0<b>public_html<\/b>, ser\u00e1 visualizado atrav\u00e9s do endere\u00e7o\u00a0<b>www.seusite.com.br<\/b>, caso seja salvo dentro de\u00a0<b>diretorio_que_criar<\/b>\u00a0ser\u00e1 visualizado em\u00a0<b>www.seu_site.com.br\/diretorio_que_criar<\/b><\/p>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h6>Realizar um redirecionamento<\/h6>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Redirecionamento 301<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<ul>\n<li>Se voc\u00ea precisar mudar seu dom\u00ednio este c\u00f3digo \u00e9 bastante \u00fatil.<\/li>\n<li>Com ele, voc\u00ea n\u00e3o perder\u00e1 links internos e externos, visitantes, e tamb\u00e9m n\u00e3o ter\u00e1 problemas com os motores de busca.<\/li>\n<li>Para redirecionar permanentemente (e tamb\u00e9m dizer aos motores de busca que trata-se de uma mudan\u00e7a permanente) um dom\u00ednio inteiro para outro (um novo, por exemplo), utilize no antigo um .htaccess com o c\u00f3digo abaixo:<\/li>\n<\/ul>\n<pre>Options +FollowSymLinks\r\nRewriteEngine on\r\nRewriteRule (.*) http:\/\/www.seunovosite.com\/$1 [R=301,L]\r\n<\/pre>\n<ul>\n<li>N\u00e3o esque\u00e7a de alterar \u201cseunovosite.com\u201d para o seu dom\u00ednio.<\/li>\n<\/ul>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<p>Aproveite e conhe\u00e7a outros produtos da Locaweb, como o Cloud Hosting, <a href=\"https:\/\/www.locaweb.com.br\/cloud\/cloud-hosting\/\" target=\"_blank\" rel=\"noopener noreferrer\">clique aqui<\/a> e saiba mais!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste artigo veremos alguns comandos para utilizar em sua aplica\u00e7\u00e3o atrav\u00e9s do arquivo .htaccess, acompanhe os detalhes logo abaixo: Criar arquivo .htaccess Para criar um arquivo .htaccess abra um dos editores como o Notepad++ ou\u00a0 Bloco de Notas. Crie um arquivo e ent\u00e3o salve-o como .htaccess. Vamos \u00e0s dicas de&#8230;<\/p>\n","protected":false},"author":47,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[],"ht-kb-tag":[367],"class_list":["post-11600","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_tag-categoriarevenda-cpanel"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/11600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=11600"}],"version-history":[{"count":35,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/11600\/revisions"}],"predecessor-version":[{"id":37764,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/11600\/revisions\/37764"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=11600"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=11600"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=11600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}