<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Tutorial do Apache: arquivos .htaccess - Servidor HTTP Apache Vers�o 2.5</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
</script>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="/mod/">M�dulos</a> | <a href="/mod/quickreference.html">Diretrizes</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Gloss�rio</a> | <a href="/sitemap.html">Mapa do site</a></p>
<p class="apache">Servidor HTTP Apache Vers�o 2.5</p>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documenta��o</a> > <a href="../">Vers�o 2.5</a> > <a href="./">How-To / Tutoriais</a></div><div id="page-content"><div id="preamble"><h1>Tutorial do Apache: arquivos .htaccess</h1>
<div class="toplang">
<p><span>L�nguas Dispon�veis: </span><a href="/en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="/fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
<a href="/ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
</div>
<div class="outofdate">Esta tradu��o pode estar desatualizada.
Confira a vers�o em Ingl�s para mudan�as recentes.</div>
<p>Arquivos <code>.htaccess</code> oferecem um meio de fazer mudan�as
nas configura��es por-diret�rio.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#related">Arquivos .htaccess </a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#when">Quando (n�o) usar arquivos .htaccess</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Coment�rios</a></li></ul></div>
<div class="section">
<h2><a name="related" id="related">Arquivos .htaccess </a></h2>
<table class="related"><tr><th>M�dulos Relacionados</th><th>Diretrizes Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="/mod/core.html">core</a></code></li><li><code class="module"><a href="/mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="/mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="/mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="/mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="/mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="/mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="/mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="/mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="/mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
<div class="section">
<p>Os arquivos <code>.htaccess</code> (ou "arquivos de
configura��o distribu�da") oferecem um meio de fazer mudan�as nas
configura��es por-diret�rio. Um arquivo, contendo uma ou mais
diretrizes de configura��es, � colocado em um diret�rio
em particular, e as diretrizes se aplicam para aquele diret�rio e todos
os seu subdiret�rios subseq�entes.</p>
<div class="note"><h3>Nota:</h3>
<p>Se voc� quiser renomear o seu arquivo <code>.htaccess</code>
para outro nome, voc� deve usar a diretriz <code class="directive"><a href="/mod/core.html#accessfilename">AccessFileName</a></code>. Por exemplo, se voc�
prefere que o arquivo se chame <code>.config</code>, ent�o voc�
pode adicionar a seguinte linha ao seu arquivo de configura��o
do servidor:</p>
<div class="example"><p><code>
AccessFileName .config
</code></p></div>
</div>
<p>No geral, arquivos <code>.htaccess</code> usam a mesma sintaxe
que os <a href="/configuring.html#syntax">arquivos de
configura��o principal</a>. O que voc� pode colocar nesses
arquivos � determinado pele diretriz <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code>. Essa diretriz especifica,
em categorias, quais diretrizes ser�o aceitas caso sejam
encontradas em um arquivo <code>.htaccess</code>. Se uma diretriz
for permitida em um arquivo <code>.htaccess</code>, a documenta��o
para essa diretriz ir� conter uma se��o <em>Override</em>,
especificando que valor precisa estar em <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> para que esta diretriz
seja permitida.</p>
<p>Por exemplo, se voc� procurar na documenta��o pela diretriz
<code class="directive"><a href="/mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, voc�
achar� que ela � permitida nos arquivos <code>.htaccess</code>.
(Veja a linha Contexto no sum�rio das diretivas.) A
<code>FileInfo</code>. Ent�o, voc� deve ao menos ter
<code>AllowOverride FileInfo</code> para que essa diretriz seja
aceita nos arquivos <code>.htaccess</code>.</p>
<div class="example"><h3>Exemplo:</h3><table>
<tr>
<td>configura��o do servidor, hospedeiros virtuais, diret�rio, .htaccess</td>
</tr>
<tr>
<td>FileInfo</td>
</tr>
</table></div>
<p>Se voc� estiver incerto se uma diretriz em particular �
aceita em um arquivo <code>.htaccess</code>, procure na
documenta��o por essa diretriz, e verifique a linha de
Contexto por ".htaccess".</p> </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="when" id="when">Quando (n�o) usar arquivos .htaccess</a></h2>
<p>No geral, voc� nunca deve usar arquivos <code>.htaccess</code>
a n�o ser que voc� n�o tenha acesso ao arquivo de configura��o
principal do servidor. Existe, por exemplo, um erro de concep��o
que dita que a autentica��o de usu�rios sempre deve
ser feita usando os arquivos <code>.htaccess</code>. Esse
simplesmente n�o � o caso. Voc� pode usar as configura��es de
autentica��o de usu�rio no arquivo de configura��o principal do
servidor, e isso �, de fato, a maneira mais adequada de se fazer
as coisas.</p>
<p>Arquivos <code>.htaccess</code> devem ser usados em casos onde
os provedores de conte�do do site precisem fazer mudan�as na
configura��o do servidor por-diret�rio, mas n�o tem
acesso <em>root</em> ao sistema do servidor. Caso o administrador do
servidor n�o esteja disposto a fazer mudan�as freq�entes nas
configura��es do servidor, � desej�vel permitir que os
usu�rios possam fazer essas mudan�as atrav�s de arquivos
<code>.htaccess</code> eles mesmos. Isso � particularmente
verdade, por exemplo, em casos onde provedores est�o fornecendo
m�ltiplos sites para usu�rios em apenas uma m�quina, e querem que
seus usu�rios possam alterar suas configura��es.</p>
<p>No entanto, de modo geral, o uso de arquivos <code>.htaccess</code>
deve ser evitado quando poss�vel. Quaisquer configura��es
que voc� considerar acrescentar em um arquivo <code>.htaccess</code>, podem
ser efetivamente colocadas em uma se��o <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> no arquivo principal de
configura��o de seu servidor.</p>
<p>Existem duas raz�es principais para evitar o uso de arquivos
<code>.htaccess</code>.</p>
<p>A primeira delas � a performance. Quando <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> � configurado para
permitir o uso de arquivos <code>.htaccess</code>, o Apache procura
em todos diret�rios por arquivos <code>.htaccess</code>.
Logo, permitir arquivos <code>.htaccess</code> causa um impacto na
performance, mesmo sem voc� us�-los de fato! Al�m disso,
o arquivo <code>.htaccess</code> � carregado toda vez que um documento
� requerido.</p>
<p>Al�m disso, note que o Apache precisa procurar pelos arquivos
<code>.htaccess</code> em todos os diret�rios superiores, para ter
o complemento total de todas as diretivas que devem ser
aplicadas. (Veja a se��o <a href="#how">como as diretrizes s�o
aplicadas</a>.) Ent�o, se um arquivo de um diret�rio
procurar pelos seguintes arquivos:</p>
<div class="example"><p><code>
/.htaccess<br />
</code></p></div>
<p>Assim, para cada acesso de arquivo fora desse diret�rio,
existem 4 acessos ao sistema de arquivos adicionais, mesmo
que nenhum desses arquivos estejam presentes. (Note que esse
s� ser� o caso se os arquivos <code>.htaccess</code>
estiverem habilitados para <code>/</code>, o que
normalmente n�o � o verdade.)</p>
<p>A segunda considera��o � relativa � seguran�a.
Voc� est� permitindo que os usu�rios modifiquem as
configura��es do servidor, o que pode resultar em mudan�as
que podem fugir ao seu controle. Considere com cuidado se voc� quer
ou n�o dar aos seus usu�rios esses privil�gios. Note tamb�m
que dar aos usu�rios menos privil�gios que eles precisam, acarreta em
pedidos de suporte t�cnico adicionais. Tenha certeza que voc� comunicou
aos usu�rios que n�vel de privil�gios voc� os deu.
Especificar exatamente o que voc� configurou na diretriz <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code>, e direcion�-los para a
documenta��o relevante, ir� poup�-lo de muita confus�o
depois.</p>
<p>Perceba que � exatamente equivalente colocar o arquivo
<code>.htaccess</code> em um diret�rio
adicionar a mesma diretriz em uma se��o <em>Directory</em>
principal do seu servidor:</p>
<div class="example"><h3>Conte�do de um arquivo .htaccess em
</code></p></div>
<span class="indent">
</span>
</Directory>
</code></p></div>
<p>No entanto, adicionando isso ao seu arquivo de configura��o do
servidor resultar� em uma menor perda de performance, na medida que
a configura��o � carregada no momento da inicializa��o do
servidor, ao inv�s de toda que que um arquivo � requerido.</p>
<p>O uso de arquivos <code>.htaccess</code> pode ser totalmente
desabilitado, ajustando a diretriz <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> para <code>none</code>:</p>
<div class="example"><p><code>
AllowOverride None
</code></p></div>
<div class="section">
<h2><a name="how" id="how">Como as diretrizes s�o aplicadas</a></h2>
<p>As diretrizes de configura��o que se encontram em um arquivo
<code>.htaccess</code> s�o aplicadas para o diret�rio no qual o
arquivo <code>.htaccess</code> se encontra, e para todos os
subdiret�rios ali presentes. Mas, � importante lembrar tamb�m que
podem existir arquivos <code>.htaccess</code> no diret�rios
superiores. As diretrizes s�o aplicadas na ordem que s�o
achadas. Logo, um arquivo <code>.htaccess</code> em um diret�rio
em particular, pode sobrescrever as diretrizes encontradas em um
diret�rio acima deste em sua respectiva �rvore. Estes, por sua vez,
podem ter suas diretrizes sobrescritas por diretrizes ainda mais
acima, ou no pr�prio arquivo de configura��o principal do
servidor.</p>
<p>Exemplo:</p>
um arquivo <code>.htaccess</code> contendo o seguinte:</p>
<div class="example"><p><code>
Options +ExecCGI
</code></p></div>
<p>(Nota: voc� deve ter "<code>AllowOverride Options</code>" para
permitir o uso da diretriz "<code class="directive"><a href="/mod/core.html#options">Options</a></code>" nos arquivos
<code>.htaccess</code> .)</p>
um arquivo <code>.htaccess</code> contendo:</p>
<div class="example"><p><code>
Options Includes
</code></p></div>
<p>Devido a esse segundo arquivo <code>.htaccess</code>, no
de scripts CGI n�o � permitida, pois somente <code>Options
Includes</code> est� em efeito, o que sobrescreve completamente
quaisquer outros ajustes previamente configurados.</p>
<div class="section">
<h2><a name="auth" id="auth">Exemplo de Autentica��o</a></h2>
<p>Se voc� veio diretamente � esta parte do documento para
aprender como fazer autentica��o, � importante notar uma
coisa. Existe uma concep��o errada, mas muito comum, de que �
necess�rio o uso de arquivos <code>.htaccess</code> para implementar
a autentica��o por senha. Este n�o � o caso. Colocar
diretrizes de senha em uma se��o <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code>, no seu arquivo principal de
configura��o do servidor, � a melhor maneira de se implementar
isto, e os arquivos <code>.htaccess</code> devem ser usados apenas
se voc� n�o tem acesso ao arquivo principal de configura��o do
servidor. Veja <a href="#when">acima</a> a discuss�o sobre quando
voc� deve e quando n�o deve usar os arquivos
<code>.htaccess</code>.</p>
<p>Dito isso, se voc� ainda acredita que precisa usar um arquivo
<code>.htaccess</code>, a configura��o a seguir provavelmente
funcionar� para voc�.</p>
<p>Conte�do de um arquivo <code>.htaccess</code>:</p>
<div class="example"><p><code>
AuthType Basic<br />
AuthName "Password Required"<br />
Require Group admins
</code></p></div>
<p>Note que <code>AllowOverride AuthConfig</code> precisa estar
habilitado para que estas diretrizes tenham efeito.</p>
autentica��o</a> para uma discuss�o mais completa sobre
autentica��o e autoriza��o.</p>
<div class="section">
<h2><a name="ssi" id="ssi">Exemplo de Server Side Includes</a></h2>
<p>Outro uso comum de arquivos <code>.htaccess</code> � ativar o
Server Side Includes para um diret�rio em particular. Isto pode
ser feito com as seguintes diretrizes de configura��o, colocadas em
um arquivo <code>.htaccess</code> no diret�rio desejado:</p>
<div class="example"><p><code>
Options +Includes<br />
AddHandler server-parsed shtml
</code></p></div>
<p>Note que ambos <code>AllowOverride Options</code> e
<code>AllowOverride FileInfo</code> precisam estar habilitados
para essas diretrizes terem efeito.</p>
uma discuss�o mais completa sobre server-side includes.</p>
<div class="section">
<h2><a name="cgi" id="cgi">Exemplo de CGI</a></h2>
<p>Finalmente, voc� pode querer que um arquivo
<code>.htaccess</code> permita a execu��o de programas CGI em um
diret�rio em particular. Isto pode ser implementado com as
seguintes configura��es:</p>
<div class="example"><p><code>
Options +ExecCGI<br />
AddHandler cgi-script cgi pl
</code></p></div>
<p>Alternativamente, se voc� desejar que todos os arquivos de um
dado diret�rio, sejam considerados programas CGI, isso pode ser
feito com a seguinte configura��o:</p>
<div class="example"><p><code>
Options +ExecCGI<br />
SetHandler cgi-script
</code></p></div>
<p>Note que ambos <code>AllowOverride Options</code> e
<code>AllowOverride FileInfo</code> precisam estar habilitados
para que essas diretrizes tenham quaisquer efeito.</p>
tutorial</a> para uma discuss�o mais completa sobre programa��o
e configura��o CGI.</p>
<div class="section">
<h2><a name="troubleshoot" id="troubleshoot">Resolvendo Problemas</a></h2>
<p>Quando voc� adiciona diretrizes de configura��o em um arquivo
<code>.htaccess</code>, e n�o obt�m o efeito desejado, existe uma
s�rie de pontos que podem estar errados.</p>
<p>Mais comumente, o problema � que a diretriz <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> n�o est� habilitada
corretamente para que as suas diretrizes de configura��es sejam
honradas. Verifique se voc� n�o possui <code>AllowOverride
None</code> ajustado para o escopo do arquivo em quest�o. Um bom
meio de testar isso � colocar "lixo" em seu arquivo
<code>.htaccess</code> e recarreg�-lo. Se n�o for gerado nenhum
erro do servidor, certamente voc� tem <code>AllowOverride
None</code> habilitado.</p>
<p>Se, por outro lado, voc� est� obtendo erros do servidor ao
tentar acessar documentos, verifique o registro de erros do
Apache. Ele provavelmente ir� indicar que a diretriz usada em
seu arquivo <code>.htaccess</code> n�o � permitida.
Alternativamente, ele pode acusar erros de sintaxe que voc� ter�
que corrigir.</p>
</div></div>
<div class="bottomlang">
<p><span>L�nguas Dispon�veis: </span><a href="/en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="/fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
<a href="/ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Coment�rios</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/howto/htaccess.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">M�dulos</a> | <a href="/mod/quickreference.html">Diretrizes</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Gloss�rio</a> | <a href="/sitemap.html">Mapa do site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>