<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Amigo Geek &#187; proteger pasta htaccess</title>
	<atom:link href="/tag/proteger-pasta-htaccess/feed/" rel="self" type="application/rss+xml" />
	<link>https://amigogeek.net</link>
	<description>Alguém que se pode contar</description>
	<lastBuildDate>Tue, 22 May 2012 17:50:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<atom:link rel='hub' href='/?pushpress=hub'/>
		<item>
		<title>Desvendando o arquivo .htaccess</title>
		<link>https://amigogeek.net/artigo/desvendando-o-arquivo-htaccess/</link>
		<comments>https://amigogeek.net/artigo/desvendando-o-arquivo-htaccess/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 18:36:49 +0000</pubDate>
		<dc:creator>Cadu Silva</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[código htaccess]]></category>
		<category><![CDATA[desvendando htaccess]]></category>
		<category><![CDATA[dicas htaccess]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[gerador de htaccess]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[nome de usuário htaccess]]></category>
		<category><![CDATA[proteger pasta htaccess]]></category>

		<guid isPermaLink="false">https://amigogeek.net/artigo/desvendando-o-arquivo-htaccess</guid>
		<description><![CDATA[Um dos arquivos mais famosos quando o assunto é hospedagem de sites também é um dos [...]]]></description>
			<content:encoded><![CDATA[ <p>Um dos arquivos mais famosos quando o assunto é hospedagem de sites também é um dos mais confusos para webmasters iniciantes, mas isso deve mudar após a leitura deste artigo que tenta desvendar os mistérios do arquivo .htaccess. Descubra algumas funções interessantes e aprenda a manusea-lo corretamente.</p>
<p>  <span id="more-409"></span>
<p>O arquivo .htaccess é o responsável por gerenciar todo o acesso ao seu servidor, permitindo restringir o acesso, definir páginas de erro padrão, definir se o acesso se dá por endereço com ou sem o www, redirecionar diretivas, definir o arquivo principal da página inicial e até auxilia nas técnicas de SEO.</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Desvendando o arquivo .htaccess" border="0" alt="Desvendando o arquivo .htaccess" src="/wp-content/images/Desvendando-o-arquivo-.htaccess_C9A2/htaccess.jpg" width="300" height="300" /></p>
<p>Porém lembre-se de que um arquivo .htaccess presente no diretório raiz de um site comanda todas as demais pastas, mas se você criar um novo arquivo numa determinada pasta, o arquivo do diretório raiz perde a ação sobre ela. Abaixo seguem algumas dicas bem bacanas para configurar o seu .htaccess.</p>
<h3>Impedir listagem de uma pasta</h3>
<p>Geralmente quando criamos uma pasta sem um arquivo de índice (index.html, por exemplo), é comum que o conteúdo desta pasta seja exibido por padrão, mas você pode mudar isso com uma simples linha:</p>
<blockquote><p>Options –Indexes</p>
</blockquote>
<h3>Página inicial padrão</h3>
<p>Digamos que a página inicial do seu site não esteja no arquivo <em>index</em>. O que fazer? Renomear o arquivo? Não, isso não se faz necessário. Basta dizer ao Apache quais arquivos podem ser considerados como página inicial ou de índice (tradução da palavra index). É muito simples fazer isso, bastando incluir a linha a seguir em seu arquivo:</p>
<blockquote><p>DirectoryIndex index.php index.html index.htm /proibido.php</p>
</blockquote>
<p>No exemplo acima, os arquivos <em>index.php</em>, <em>index.html</em> e <em>index.htm</em> serão considerados como arquivos de índice e caso nenhum deles exista, o arquivo <em>proibido.php</em>, presente no diretório raiz, será mostrado ao visitante.</p>
<h3>Página de erro padrão</h3>
<p>Quando um usuário visita seu site e por algum motivo cai numa página de arquivo não encontrado ou se depara com um erro em seu servidor, você poderá personalizar o que ele verá. Geralmente, os servidores exibem uma página em branco com o nome do erro em destaque e um texto em inglês comentando o ocorrido. Você pode mudar isso com os códigos abaixo:</p>
<blockquote><p><em>ErrorDocument 404 erro404.html        <br /></em><em>ErrorDocument 403 erro403.html        <br />ErrorDocument 500 erro500.html</em></p>
</blockquote>
<p><em>Ou…</em></p>
<blockquote><p><em>ErrorDocument 404 arquivo_inexiste.html        <br /></em><em>ErrorDocument 403 proibido.html        <br />ErrorDocument 500 erro_interno.html</em></p>
</blockquote>
<p>Assim você poderá personalizar o que seu visitante verá e dar informações úteis sobre o erro obtido e maneiras dele sair daquela página e voltar aos trilhos, continuando a visita em seu site, mas em outra página devidamente funcional.</p>
<h3>Esconder a extensão da linguagem do script</h3>
<p>Esta dica serve para evitar que espertinhos descubram qual linguagem você usa em seu servidor, alterando as extensões dos arquivos que compõem o site. Digamos que a sua página seja escrita em PHP e deseja que os arquivos com final .cool sejam interpretados como .php. O código necessário é o seguinte:</p>
<blockquote><p>typesAddType application/x-httpd-php .cool</p>
</blockquote>
<p>Quer ainda mais “privacidade”? Então faça com que endereços digitados sem extensão abram normalmente. Assim você pode digitar <em>seusite.com/contato</em> que a página <em>contato.cool</em> abrirá normalmente, ocultando a extensão do arquivo. O código necessário é este:</p>
<blockquote><p>RewriteEngine on      <br />RewriteCond %{REQUEST_FILENAME} !-d       <br />RewriteCond %{REQUEST_FILENAME}\.cool -f       <br />RewriteRule ^(.*)$ $1.cool</p>
</blockquote>
<h3>Bloquear acesso ao site através de IP</h3>
<p>Evite que alguma pessoa mal intencionada acesse seu site em busca de falhas e para fazer bagunça bloqueando o IP do indivíduo com o seguinte código:</p>
<blockquote><p>order allow,deny      <br />deny from 012.34.5.6       <br />deny from 012.34.5.       <br />allow from all</p>
</blockquote>
<p>A segunda linha impede que o IP específico <em>012.34.5.6</em> acesse o site, já a terceira linha impede todos os IPs desde <em>012.34.5.1</em> até <em>012.34.5.255</em> acessem seu site. A quarta linha permite que todos os demais IPs te visitem normalmente.</p>
<h3>Impedir acesso de um determinado provedor</h3>
<p>Não sabe o IP ao certo, mas conhece o provedor que o encrenqueiro usa? Então bloqueie o acesso desta empresa através do código abaixo:</p>
<blockquote><p>order allow,deny      <br />deny from .veloxzone.com.br       <br />allow from all</p>
</blockquote>
<p>No exemplo acima, qualquer pessoa que use o serviço da Oi não conseguirá acessar o seu site. Para bloquear a GVT, por exemplo, você trocaria <em>.veloxzone.com.br</em> por <em>.gvt.net.br</em> ou adicionaria uma linha extra começando com <em>deny from</em>. A ultima linha permite que usuários de qualquer outro provedor tenha acesso livre.</p>
<h3>Redirecionando páginas e diretórios</h3>
<p>Há um monte de maneiras de redirecionar uma página ou pasta para outro lugar como pode ser visto a seguir.</p>
<blockquote><p>Redirect /dirantigo/pagina_velha.html <a href="http://www.seusite.com/dirnovo/pagina_nova.html">http://www.seusite.com/dirnovo/pagina_nova.html</a></p>
</blockquote>
<p>Neste exemplo, quando um usuário acessa o arquivo <em>pagina_velha.html</em> presente no diretório <em>dirantigo</em> é redirecionado para o arquivo <em>pagina_nova.html</em> no diretório <em>dirnovo</em>. A única coisa que separa os termos é um espaço em branco, não uma quebra de linha. Obviamente, o exemplo acima trata de um arquivo em particular, mas para redirecionar uma pasta inteira, use o código a seguir:</p>
<blockquote><p>Redirect /dirantigo/ <a href="http://www.seusite.com/dirnovo/">http://www.seusite.com/dirnovo/</a></p>
</blockquote>
<h3>Impedir roubo de imagens</h3>
<p>Sempre tem aquele espertinho que adora se aproveitar dos outros e poupar espaço em seu próprio disco rígido roubando imagens a partir de outros sites e servidores através de um link direto. O nome desta detestável prática é <em>hotlink</em> e você aprenderá agora a impedi-la.</p>
<blockquote><p>RewriteCond %{HTTP_REFERER} !^http://seusite.com.br/.*$ [NC]      <br />RewriteCond %{HTTP_REFERER} !^http://www.seusite.com.br/.*$ [NC]       <br />RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ – [F,NC]</p>
</blockquote>
<p>Assim, todo indivíduo que copiar uma imagem sua irá recebe-la quebrada caso ela carregue num domínio diferente do especificado nas duas primeiras linhas. Para pregar uma peça e mostrar uma imagem nada a ver ou o logo do seu blog/site/empresa, use o código a seguir:</p>
<blockquote><p>RewriteCond %{HTTP_REFERER} !^http://seusite.com.br/.*$ [NC]      <br />RewriteCond %{HTTP_REFERER} !^http://www.seusite.com.br/.*$ [NC]       <br />RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ <a target="_blank" rel="nofollow" href="http://www.seusite.com/sua_logo.gif" >http://www.seusite.com/sua_logo.gif</a> [R,L]</p>
</blockquote>
<h3>Proibindo a listagem do diretório</h3>
<p>Já comentamos isso mais acima, porém este código serve para impedir a listagem geral de todos os diretórios do seu site e ainda permite especificar quais arquivos não devem ser mostrados.</p>
<blockquote><p>IndexIgnore *.wmv *.jpg *.gif *.swf</p>
</blockquote>
<h3>Redirecionamento 301 (permanente)</h3>
<p>Digamos que você tem um site em um servidor ou pasta e mais outro site em outro servidor ou outra pasta. Você pode fazer um redirecionamento permanente que indica aos buscadores e navegadores que aquele endereço não deve mais funcionar e que foi movido para outro endereço. No servidor ou pasta do site antigo, use o seguinte código:</p>
<blockquote><p>Options +FollowSymLinks      <br />RewriteEngine on       <br />RewriteRule (.*) <a target="_blank" rel="nofollow" href="http://www.novosite.com.br/$1" >http://www.novosite.com.br/$1</a> [R=301,L]</p>
</blockquote>
<p>Trocando <em>novosite.com.br</em> pelo novo endereço.</p>
<h3>Forçar acesso ao site com www</h3>
<p>Evite que o navegador do seu visitante acesse o site sem www redirecionando-o para o endereço que começa com www usando o código a seguir:</p>
<blockquote><p>Options +FollowSymlinks      <br />RewriteEngine on       <br />RewriteCond %{http_host} ^seusite.com.br [NC]       <br />RewriteRule ^(.*)$ <a target="_blank" rel="nofollow" href="http://www.seusite.com.br/$1" >http://www.seusite.com.br/$1</a> [r=301,NC]</p>
</blockquote>
<h3>Forçando o acesso com HTTPS</h3>
<p>Se você possui um certificado SSL e deseja que todos que acessem seu site usem esse protocolo de conexão segura, deve adicionar o seguinte código em seu HTACCESS:</p>
<blockquote><p>RewriteEngine On      <br />RewriteCond %{HTTPS} off       <br />RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}</p>
</blockquote>
<p>Desta forma, quem acessar seu site sem digitar HTTPS na barra de endereços será redirecionado automaticamente.</p>
<h3>Proibindo exibição do arquivo .htaccess</h3>
<p>Depois de tanta ajuda do arquivo, vamos agora ajuda-lo impedindo que ele possa ser acessado por qualquer um.</p>
<blockquote><p>order allow,deny      <br />deny from all</p>
</blockquote>
<h3>Geradores de arquivos .htaccess</h3>
<p>Se você quer criar um arquivo htaccess completo sem pesquisar cada comando, pode usar algumas ferramentas disponíveis na internet que te ajudam a gerar um arquivo htaccess perfeito para as suas necessidades em poucos minutos. Use os sites da lista a seguir e divirta-se!</p>
<ul>
<li><a href="http://cooletips.de/htaccess/" target="_blank">HTACCESS File Generator</a>; </li>
<li><a href="http://www.webmaster-toolkit.com/htaccess-generator.shtml" target="_blank">Webmaster Toolkit HTACCESS Password Protection</a>; </li>
<li><a href="http://www.htaccessgenerator.net/" target="_blank">HTACCESS Generator</a>. </li>
</ul>
<p>Agora é só adicionar os códigos acima em seu arquivo .htaccess e aproveitar todos esses recursos. Lembre-se de manter seu arquivo organizado e limpo pois ele é processado a cada acesso que seu site recebe. Comente-o e cuide dele com carinho pois qualquer erro pode tirar seu site do ar. Lembrando que algumas dessas dicas dependem da existência do <em>mod_rewrite</em> instalado em seu servidor.</p>
<h3>Ativando o mod_rewrite</h3>
<p>Por padrão, o Apache vem com o mod_rewrite desativado, mas para ativa-lo basta editar uma linha do arquivo Conf/httpd.conf, removendo o símbolo # que vem antes de:</p>
<blockquote><p>LoadModule rewrite_module modules/mod_rewrite.so</p>
</blockquote>
<p>Agora procure pela seguinte linha:</p>
<blockquote><p>AllowOverride None</p>
</blockquote>
<p>E altere-a para:</p>
<blockquote><p>AllowOverride All</p>
</blockquote>
<p>Saiba mais sobre o assunto <a href="http://brunotorres.net/urls">aqui</a> e <a href="http://brunotorres.net/urls-again">aqui</a>. Caso você tenha um site ou blog, fórum, portal (e etc.), poderá hospedar-se na <a href="https://www.stonelayer.com.br/" target="_blank">Stonelayer</a> e contar com um serviço de qualidade, diversas ferramentas e claro, suporte ao <em>mod_rewrite</em> por padrão, permitindo que você aproveite todas as dicas deste artigo. <a href="https://www.stonelayer.com.br/hospedagem-web" target="_blank">Confira os planos disponíveis</a>!</p>
<p>Gostou? Então comente!</p>
<p align="right">(<a href="http://www.marcelo-alves.com/72dpi/2009/11/desvendando-o-arquivo-htaccess/" target="_blank">via</a>, <a href="http://www.clubepc.org/urls-amigaveis-com-mod_rewrite-16-11-2007" target="_blank">via</a> e <a href="http://www.mestreseo.com.br/seo/redirecionamento-301-em-php-asp-htaccess-coldfusion-e-ruby-on-rails#301-htaccess" target="_blank">via</a>)</p>
]]></content:encoded>
			<wfw:commentRss>https://amigogeek.net/artigo/desvendando-o-arquivo-htaccess/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
